Как описать ресурс kubernetes - PullRequest
       8

Как описать ресурс kubernetes

1 голос
/ 21 октября 2019

Я пытаюсь получить метаданные для данного ресурса kubernetes. Аналогично describe для конечной точки REST.

Существует ли kubectl, чтобы получить все возможные вещи, которые я мог бы предоставить для любого ресурса k8s?

Например, для развертыванияресурс, это может быть что-то вроде этого.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: <type:String> 
        <desc: name for the deployment>
  namespace: <type:String>
             <desc: Valid namespace>
  annotations:
    ...

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 21 октября 2019

Вы можете использовать команду CLI kubectl explain:

Эта команда описывает поля, связанные с каждым поддерживаемым ресурсом API. Поля идентифицируются с помощью простого идентификатора JSONPath:

<type>.<fieldName>[.<fieldName>]

Добавьте флаг --recursive, чтобы отобразить все поля одновременно без описания. Информация о каждом поле извлекается с сервера в формате OpenAPI.

Пример для просмотра всех Развертывание связанных полей:

kubectl explain deployment --recursive

Вы можете копаться в определенные поля:

kubectl explain deployment.spec.template

Вы также можете положиться на Справочные документы API Kubernetes .

0 голосов
/ 21 октября 2019

Вы знакомы с OpenApi / Swagger? Попробуйте открыть следующий файл в swagger-ui https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json

Если у вас есть доступный API kubernetes, файл должен быть доступен в / openapi / v2, как описано здесь: https://kubernetes.io/docs/concepts/overview/kubernetes-api/#openapi-and-swagger-definitions

...