Как получить тот же вывод с go -template, что и kubectl get pod output - PullRequest
1 голос
/ 02 мая 2020

Я хочу получить kubectl get pod output с go -template. Я не знаю, как kubectl get pod -o yaml (json) не содержит значений READY (например, 1/1)

kubectl get pod
NAME           READY   STATUS    RESTARTS   AGE
client-qfr4s   1/1     Running   0          14d

Моя цель - получить дополнительные значения (например, container- порт) в дополнение к столбцам по умолчанию (NAME, READN, STATUS и т. д. c.) с помощью одноразовой команды kubectl.

Ответы [ 2 ]

2 голосов
/ 02 мая 2020

Вы можете добавить пользовательский столбец в команду kubectl get следующим образом:

    $ kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase,RESTARTS:.status.containerStatuses[].restartCount,CONATAINER_NAME:.spec.containers[*].name,PORT:.spec.containers[*].ports,READY:.status.containerStatuses[*].ready
NAME                         STATUS    RESTARTS   CONATAINER_NAME   PORT                                            READY
nginx-6bc98f4797-7kv6m       Pending   0          busy,nginx        [map[containerPort:8000 protocol:TCP]]          false,true
nginx-6bc98f4797-zv4sp       Pending   0          busy,nginx        [map[containerPort:8000 protocol:TCP]]          false,true
php-apache-5986bb6b9-gllq8   Running   5          php-apache        [map[containerPort:80 protocol:TCP]]            true

Более подробную информацию можно найти здесь

1 голос
/ 02 мая 2020

Вместо использования get вы можете использовать описание

kubectl describe pod

Вы получите полный статус, как показано ниже:

Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
...