Kubectl получить статус pod как yaml - PullRequest
1 голос
/ 31 мая 2019

Я могу запустить kubectl get pod nginx -o=jsonpath={'.status'}, чтобы получить только статус в json для моего модуля.

Как я могу выполнить такую ​​же фильтрацию, но получить результат, возвращаемый в yaml вместо json?

Поэтому я хотел бы получить такой вывод командой:

status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2019-05-31T14:58:57Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2019-05-31T14:59:02Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2019-05-31T14:58:57Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://5eb07d9c8c4de3b1ba454616ef7b258d9ce5548a46d4d5521a0ec5bc2d36b716
    image: nginx:1.15.12
    imageID: docker-pullable://nginx@sha256:1d0dfe527f801c596818da756e01fa0e7af4649b15edc3eb245e8da92c8381f8
    lastState: {}
    name: nginx
    ready: true
    restartCount: 0
    state:
      running:
        startedAt: "2019-05-31T14:59:01Z"

1 Ответ

2 голосов
/ 31 мая 2019

Вы не можете сделать это с kubectl, для него нет такой опции вывода.

Однако, должно быть легко извлечь эти строки с помощью awk.

kubectl get pods -o yaml | awk '/^status:/{flag=1}flag'

Запускает вывод в строке status:. В этом случае это именно то, что вы хотите.

...