K8s 5分講座#11 Podのデプロイ
今日はPodのデプロイ(≒Podを利用可能状態にする)具体的なオペレーションについて学んでいこう。

kubectl runコマンド
kubectl runコマンドは以前の講義で出てきましたね。

このコマンドが実際に行うのは、Podを作成し、コンテナをデプロイすることである。

コンテナイメージはどこから持ってくるのですか?

それは引数で指定する必要がある。今回はDocker Hub RepositoryからNginxのイメージをダウンロードする例を示す。

kubectl run nginx --image nginx
Docker Hubって、Dockerイメージが保存されているパブリックリポジトリでしたっけ?

そうだ。イメージは、パブリックなDockerハブの他、組織内のプライベートなリポジトリからでも引き出すことができ、それをベースにK8sを構成できる。

kubectl get podsコマンド
Podを作成後、Podのリストを見るにはkubectl get podsコマンドを使う。

kubectl runコマンドでデプロイした直後に打つと、下記のように表示されますね

kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-12345678-abcde 1/1 ContainerCreating 0 3s
お、早速試しているな!感心感心。STATUSを見ると、ちょうどコンテナを作成中のようだ。もう一度打ってごらん。

お、数秒しか経ってないですが、Runningになりましたね!これが以前の講義でお話されていた起動が早い!ということですね。

kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-12345678-abcde 1/1 Running 0 10s
実際に実行してみると、Podはコンテナ作成状態(ContainerCreating)から、すぐに実行状態(Running)に遷移することが分かる。

これでもうユーザがWebサーバにアクセスできる状態になるんですか?

いや、今はノードから内部的にアクセスすることはできるが、外部からアクセスするにはもうひと手間かかる。それは後の講義で触れよう。

- kubectl runコマンドで、Podの作成・コンテナのデプロイを行う
- その時イメージの引き出し元(リポジトリ)を引数に指定する
- kubectl get podsコマンドでPodのリストを確認できる
K8sのコマンドって、頭のkubectl長くないですか…?2文字くらいが良いんですけど。

実はエイリアス登録をすることで短くすることもできる。kubectlは”k”と1文字に短縮設定するのがエンジニアの嗜みだという者さえいる。

そうなんですね!ちょっとググってみます!
