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文字に短縮設定するのがエンジニアの嗜みだという者さえいる。
そうなんですね!ちょっとググってみます!