このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
NginxのPodを作成する
Kubernetesの基本操作を理解したところで、次にNginxのPodを作成します。この手順では、既に作成したApacheのデプロイメントとサービスの定義ファイルをテンプレートとして使用し、必要な部分をNginx用に修正していきます。これにより、手間を省きながらも新しいPodの作成が可能です。NginxのPodを作成するために、デプロイメントとサービスの設定を順番に編集し、最終的にWebブラウザで動作確認を行います。
NginxのPodを作成する手順
以下のコンテンツで作成した「deployment.yml」と「service.yml」を内容をコピーして編集することで、NginxのPodを作成していきます。
1.Docker desktopとPowerShellの起動します。
最初に、Docker Desktopを起動し、PowerShellを使用して作業ディレクトリに移動します。nginx
ディレクトリを作成し、そのディレクトリに移動します。
PS C:\Users\joeac> cd C:\Users\joeac\Desktop\kubernetes
PS C:\Users\joeac\Desktop\kubernetes> mkdir nginx
Directory: C:\Users\joeac\Desktop\kubernetes
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2024/09/19 0:50 nginx
PS C:\Users\joeac\Desktop\kubernetes> cd nginx
PS C:\Users\joeac\Desktop\kubernetes\nginx>
2.デプロイメントの定義ファイルを作成します。
次に、VSCodeを使ってdeployment.yml
を作成し、Nginxの設定を行います。基本的にApacheの定義ファイルを基に、名前とイメージをNginxに変更します。以下の内容を入力したら保存してVSCodeを終了させます。
PS C:\Users\joeac\Desktop\kubernetes\nginx> code deployment.yml
【編集内容】
変更箇所は以下の通りです。app
やname
の部分をnginx
に変更し、イメージをnginx
に設定します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-dep
spec:
selector:
matchLabels:
app: nginx
replicas: 6
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx
ports:
- containerPort: 80
3.デプロイメントの定義ファイルを読み込みます。
設定ファイルを反映させ、デプロイメントの定義ファイルを作成します。
PS C:\Users\joeac\Desktop\kubernetes\nginx> kubectl apply -f deployment.yml
deployment.apps/nginx-dep created
4.サービスの定義ファイルを作成します。
次に、サービスの定義ファイルをVSCodeで作成し、Nginxに適用します。以下の内容を入力したら保存してVSCodeを終了させます。
PS C:\Users\joeac\Desktop\kubernetes\nginx> code service.yml
【編集内容】
同様に、Apacheのサービス定義ファイルのapp
やname
の部分をnginx
に変更します。
apiVersion: v1
kind: Service
metadata:
name: nginx-ser
spec:
type: NodePort
ports:
- port: 8099
targetPort: 80
protocol: TCP
nodePort: 30080
selector:
app: nginx
5.サービスの定義ファイルを読み込みます。
サービスの設定を反映させて、Nginxのサービスを作成します。
PS C:\Users\joeac\Desktop\kubernetes\nginx> kubectl apply -f service.yml
service/nginx-ser created
6.Webブラウザで動作確認します。
Nginxの初期画面が正しく表示されるかをWebブラウザで確認します。URLに「http://localhost:30080/」と入力します。
7.デプロイメントの定義ファイルを削除します。
デプロイメントの定義ファイルを削除します。
PS C:\Users\joeac\Desktop\kubernetes\nginx> kubectl delete -f deployment.yml
deployment.apps "nginx-dep" deleted
8.サービスの定義ファイルを削除します。
サービスの定義ファイルを削除します。
PS C:\Users\joeac\Desktop\kubernetes\nginx> kubectl delete -f service.yml
service "nginx-ser" deleted
まとめ
ここまでで、Kubernetesの基本用語や基本操作を解説してきました。これで、Kubernetes入門の解説は終わりますが、デプロイメントの定義ファイルとサービスの定義ファイルを編集すれば、自分で様々なPodが作成できます。コンテナやコンテナの作成のベースとなるイメージに関してはDockerの知識が必要になってきますが、「ここを変更すればこうなる」と、理解ができているかと思います。Nginx以外の様々なアプリケーションのPodの作成にも挑戦してみてください。