■ はじめに
Kubernetes の Pod(ポッド)についてまとめる。
目次
【1】Pod 【2】Pod作成方法 1)YAML を使ってPod作成 2)kubectl run を使ってPod作成 【3】Pod確認方法 1)kubectl get pod 2)kubectl get pod <PodName> 【4】Pod削除方法 1)YAML で作ったPodの削除 2)kubectl run で作ったPodの削除
【1】Pod
* 1つ以上のコンテナから構成された最小単位
【2】Pod作成方法
1)YAML を使ってPod作成
[1] YAMLファイルを作る
# demo_pod.yml # [1] どのKubenetics APIバージョンを用いるか apiVersion: v1 # [2] どの Kubenetics オブジェクトを指定するか(e.g. Pod/Development) # Pod指定 kind: Pod # [3] Kubenetics オブジェクトを一意に特定するための情報を付与 # e.g. name/UID/namespace metadata: # ★ここが、名前になる name: demo-nginx # [4] 理想状態(desired state)を指定 spec: containers: - image: nginx name: nginx
[2] kubectl createコマンドで起動する
# kubectl create -f <[1]で作ったYAML> $ kubectl create -f demo_pod.yml pod/demo-nginx created # 作成したPodを確認する $ kubectl get pod NAME READY STATUS RESTARTS AGE demo-nginx 1/1 Running 0 22s # クラスター内で利用できるすべてのリソースの完全なリストを表示 # =>「apiVersion: v1」が確認できる $ kubectl api-resources | grep pod pods po v1 true Pod ...
2)kubectl run を使ってPod作成
# Helpに載っている $ kubectl run -h Create and run a particular image in a pod. Examples: # Start a nginx pod kubectl run nginx --image=nginx ... # ★実行してみる # kubectl run <PodName> --image=nginx $ kubectl run nginx-by-command --image=nginx pod/nginx-by-command created # 確認 $ kubectl get pod NAME READY STATUS RESTARTS AGE demo-nginx 1/1 Running 1 (38m ago) 12h nginx-by-command 1/1 Running 0 15s
【3】Pod確認方法
1)kubectl get pod
# Pod一覧表示 $ kubectl get pod
2)kubectl get pod
# kubectl get pod <PodName> $ kubectl get pod demo-nginx NAME READY STATUS RESTARTS AGE demo-nginx 1/1 Running 1 (53m ago) 12h # Spec情報表示(YAMLファイルの「spec:」を参照) $ kubectl get pod demo-nginx -o jsonpath='{.spec}' | jq > output.json $ less output.json { "containers": [ { "image": "nginx", "imagePullPolicy": "Always", "name": "nginx", "resources": {}, ...
補足:-o の別利用法
# kubectl get pod <PodName> -o yamlで、設定をそのまま出力できる $ kubectl get pod demo-nginx -o yaml > output.yaml
【4】Pod削除方法
1)YAML で作ったPodの削除
# kubectl delete -f <YAML> kubectl delete -f demo_pod.yml
2)kubectl run で作ったPodの削除
# kubectl delete pod <PodName>
$ kubectl delete pod nginx-by-command
関連記事
Kubernetes ~ Linux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/02/005053
Kubernetes ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
Kubernetes ~ Kubernetes Dashboard ~
https://dk521123.hatenablog.com/entry/2023/05/27/144144
Kubernetes ~ 基本編 / minikube ~
https://dk521123.hatenablog.com/entry/2023/05/07/214515
Kubernetes ~ 基本編 / kubectlコマンド ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555