Kubernetes CORE CONCEPTS – PODS

Kubernetes のお勉強方法


どうやって勉強する?

 

UdemyにてCertified Kubernetes Administrator (CKA) with Practice Testsを受講するとKodeKloudのUdemy Labs – Certified Kubernetes Administrator with Practice Tests(99ドル)のハンズオンラボコースが無料になるクーポンコードが付いてくるのである。

 

CORE CONCEPTS – PODS K8s

 

Podとは、KubernetesでDockerコンテナを管理するための最小単位のものでクラスターで実行されるプロセスのことである。Podの概観 は公式サイトでチェック。アプリケーションコンテナだけでなく、ストレージボリュームの集まりでもあるが、Dockerコンテナが一般的である。

 

kubectlコマンドラインツールを使い、Kubernetesクラスターを制御する。

kubectlの概要は公式サイトでチェック。

 

kubectl get pods

podの数を数える。結果は0です。

podが複数表示された場合のREADY 項目は何を表しているのか?
Running Containers in pod / Total Cointainers in pod
podの中で実行されているコンテナ数 / podの中の総コンテナ数

kubectl run nginx –image=nginx
nginxイメージを使用して新しいpodを作成。

kubectl get pods -o wide
podが配置されているノードを確認。以下のpod達はcontrolplaneに配置されている。

kubectl describe pod webapp
webappのpodには幾つのコンテナが含まれているか確認。
Containers配下を確認する。この場合はnginxとagentxがある。
agentxの方のstate(状態)はError もしくはWaiting(待機)状態である。

agentxがError/Waiting状態の理由はkubectl describe pod webappコマンドのEvents配下で確認できます。以下の場合はDockerからイメージのプルが出来なく、レポジトリが無いとの事。

kubectl delete pod webapp
webapp podの削除

kubectl run redis –image=redis123 –dry-run=client -o yaml > redis-definition.yaml
–dry-run=client -o yamlのオプションを使用してマニフェストファイルをYAML形式で作成するコマンド。pod名をredisとし、イメージ名をredis123とする。

“Manifest”ファイルは各種リソース構成や実行するコンテナイメージなどをYAML形式またはJASON形式で記述したファイルのことである。


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
編集したファイルのアップデートを行う。