マニフェスト ファイルで、Kubernetes クラスタに Podを作成する方法です。
マニフェスト ファイル 作成
下記の内容の マニフェスト ファイル app1.yaml を作成します。
apiVersion: v1
kind: Pod
metadata:
name: app1
spec:
containers:
- image: dockerhubuser/app1
name: app1-container
ports:
- containerPort: 8080
protocol: TCP
使用する Kubernetes API のバージョンは v1 です。
apiVersion: v1
Kubernetes オブジェクト・リソースの種類は Pod です。
kind: Pod
spec で、Pod の仕様を定義しています。
image : 使用するコンテナ イメージ
name : コンテナの名前
ports : コンテナが受け付けるポート番号とプロトコル
spec:
containers:
- image: dockerhubuser/app1
name: app1-container
ports:
- containerPort: 8080
protocol: TCP
マニフェストの適用 & Pod 作成
下記のコマンドで、作成したマニフェスト ファイルを適用し、Pod を作成します。
kubectl apply -f app1.yaml
次のような結果が表示されます。
pod/app1 created
下記のコマンドで、Pod が起動してていることを確認できます。
kubectl get pods
次のような結果が表示されます。
NAME READY STATUS RESTARTS AGE
app1 1/1 Running 0 5m14s
下記のコマンドで、Yaml 形式で、Pod の情報を確認できます。
kubectl get pods app1 -o yaml
次のような結果が表示されます。
apiVersion: v1
kind: Pod
metadata:
(以下、省略)
下記のコマンドで、Pod が動作しているノードと、Pod の IP アドレスを確認できます。
kubectl get pods -o wide
次のような結果が表示されます。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
app1 1/1 Running 0 5m14s 10.45.0.3 node1 <none> <none>
なお、ここで紹介した方法で作成した場合、上記の IP アドレス 10.45.0.3 にアクセスできるのは、Kubernetes クラスター内のみからとなります。
以上が、マニフェスト ファイルで Kubernetes クラスタに Pod を作成する方法です。
Pod 削除
Pod を削除する場合は、下記のコマンドを実行します。
kubectl delete pod app1
次のような結果が表示されます。
pod "app1" deleted