プログラミング学習サイト

プログラミングの学習を開始される方を対象としたプログラミング入門サイトです。

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秒ごとに画面が切り替わる監視状態になります。