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