Podとは、KubernetesでDockerコンテナを管理するための最小単位のものでクラスターで実行されるプロセスのことである。Podの概観は公式サイトでチェック。
アプリケーションコンテナだけでなく、ストレージボリュームの集まりでもあるが、Dockerコンテナが一般的である。
kubectl get pods
pod の数を数える。結果は0です。
READY は何を表しているのか?
Running Containers in POD / Total Cointainers in POD
podの中で実行されているコンテナ数 / PODの中の総コンテナ数
kubectl run nginx –image=nginx
nginxイメージを使用して新しいpodを作成。
kubectl get pods -o wide
ポッドが配置されているノードを確認。以下のpod達はcontrolplaneに配置されている。
kubectl describe pod webapp
Webアプリのpodには幾つのコンテナーが含まれているか確認。
Containers配下を確認する。この場合はnginxとagentxがある。
agentxの方のstate(状態)はError もしくはWaiting(待機)状態である。
agentxがError/Waiting状態の理由はkubectl describe pod webappコマンドのEvents配下で確認できます。以下の場合はDockerからイメージのプルが出来なく、レポジトリが無いとの事。
kubectl delete pod webapp
webapp podの削除
以下のpod名とイメージ名、YAMLファイルにて新しいpodを作成するには。
Name: redis
Image Name: redis123
kubectl run redis –image=redis123 –dry-run=client -o yaml > redis-definition.yaml
–dry-run=client -o yamlのオプションを使用してマニフェストファイルを作成。
kubectl create -f redis-definition.yaml
kubectl create -f コマンドにてマニフェストファイルからリソースを作成する。
kubectl get pods で作成したpodを確認。
kubectl edit pod redis
kubectl editコマンドを使用してポッドのイメージ名をredis123からredisに更新。
viまたはNanoエディターを使用。
kubectl apply -f redis-definition.yaml
編集したファイルのアップデートを行う。