kubernetesのgetコマンド詳細
kubectl get
コマンドはリソースの情報を表示することが出来ます。
kubectl get pods
kubectl get pods NAME READY STATUS RESTARTS AGE hello-world 0/1 Completed 0 16d nginx-deployment-7c6b5bc4c7-6fh9m 1/1 Running 3 (158m ago) 14d
-o wide
フラグでより詳細な情報を出力する
-o wide
フラグを付けると、より詳細な情報を出力することが出来ます。
kubectl get pods -o wide
PS C:\Users\mineg> kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hello-world 0/1 Completed 0 16d <none> docker-desktop <none> <none> nginx-deployment-7c6b5bc4c7-6fh9m 1/1 Running 3 (159m ago) 14d 10.1.0.58 docker-desktop <none> <none>
フラグを付けない場合に比べて、IP
やNODE
などの項目が追加されていると思います。
今回はPodsリソースを対象に実行しましたが、nodes
を対象にした場合は別の項目が追加されます。
-o json
フラグでjson形式で出力する
-o json
フラグを付けると、出力結果がjson形式になります。
{ "apiVersion": "v1", "items": [ { "apiVersion": "v1", "kind": "Pod", "metadata": { "creationTimestamp": "2023-10-10T06:18:12Z", "labels": { "run": "hello-world" }, "name": "hello-world", "namespace": "default", "resourceVersion": "19099", "uid": "40f68fba-d145-4533-b197-284ae747e014" }, "spec": { "containers": [ { "image": "hello-world", "imagePullPolicy": "Always", "name": "hello-world", "resources": {}, "terminationMessagePath": "/dev/termination-log", "terminationMessagePolicy": "File", "volumeMounts": [ { "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount", "name": "kube-api-access-zhpwr", "readOnly": true } ] } ], ...
json形式で出力する際、-o wide
で出力できる項目を含めた、最大限の情報を出力します。
(今回は一部省略)
あるいは通常の出力形式で最大限の情報を出力したいときは、describe
オプションも使用できます。
リソースの監視 : --watch
フラグを使用
linuxコマンドでファイルのログ出力を確認する場合、テールコマンド(tail -f /var/log/access.log
)が利用できます。
同様に、kubernetesオブジェクトの監視のためには--watch
フラグを使用することが出来ます。
kubectl get pods --watch NAME READY STATUS RESTARTS AGE hello-world 0/1 Completed 0 16d nginx-deployment-7c6b5bc4c7-6fh9m 1/1 Running 3 (166m ago) 15d |
このオプションでgetコマンドを実行すると、1秒ごとに画面が切り替わる監視状態になります。