kubernetesのgetコマンドオプション一覧

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>

フラグを付けない場合に比べて、IPNODEなどの項目が追加されていると思います。 今回は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秒ごとに画面が切り替わる監視状態になります。