Kubernetes: kubectl コマンドで Pod を作成する

kubectl コマンドで、Kubernetes クラスタに Podを作成する方法です。
コマンドで直接 Pod を作成する機会はほとんどないと思いますが、テストなどで稀に使うことがあるので、ここに載せておきます。

Pod 作成

(1) 下記のコマンドで、Pod を作成します。

kubectl run app1 --image=user/app1 --port=8080 --restart=Never
--image : コンテナを作成する元のイメージ
-- port : コンテナ内のアプリケーションが受け付けるポート番号
--restart :
  ・Always (デフォルト): Deployment を作成
  ・OnFailure: Job を作成
  ・Never: 通常の Pod を作成

次のような結果が表示されます。

pod/app1 created

(2) 下記のコマンドで、Pod が起動してていることを確認できます。

kubectl get pods

次のような結果が表示されます。

NAME   READY    STATUS     RESTARTS    AGE
app1   1/1      Running    0           5m14s

(3) 下記のコマンドで、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 クラスター内のみからとなります。

Pod 削除

Pod を削除する場合は、下記のコマンドを実行します。

kubectl delete pod app1

次のような結果が表示されます。

pod "app1" deleted

以上が、kubectl コマンドで Kubernetes クラスタに Pod を作成・削除する方法です。