Как получить Deployments ($ kubectl get deployments), указав значение пользовательского свойства? - PullRequest
0 голосов
/ 07 февраля 2019

Я развернул службу Kubernetes, и когда я запрашиваю развертывание $ kubectl get deployments, я вижу развертывание.json Развертывания выглядит следующим образом -

apiVersion: v1
kind: Deployment
metadata:
 name: test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: test
        release: testRelease
        customProp: xyz

Мой вопрос заключается в том, как создать запрос, с помощью которого можно получить Развертывание, указав значение 'customProp' ,kubectl поддерживает передачу jsonpath как часть запроса?так что я могу передать путь json, например jsonpath='{$.spec.template.metadata.labels.customProp}', и значение для этого jsonPath как 'xyz' .

Вот что я собираюсь выполнить:

$ kubectl get deployments -n <namespace> <json path query>

Однако не уверен, как создать запрос пути json и передать его вместе с $kubectl get deployments.

.

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

Да, можно запросить ресурс kube-apiserver с помощью jsonpath.Выполните следующую команду, чтобы получить то, что вы хотите:

$ kubectl get deploy test -o=jsonpath='{.spec.template.metadata.labels.customProp}'

Подробнее об использовании см. https://kubernetes.io/docs/reference/kubectl/jsonpath.

0 голосов
/ 07 февраля 2019

Добавьте метку к вашему объекту развертывания.Затем с помощью приведенной ниже команды для запроса конкретного развертывания
kubectl get deploy - l labelname = labelvalue

0 голосов
/ 07 февраля 2019

Kubectl поддерживает функцию запроса , вы можете использовать запрос ниже

kubectl get pods --selector=customProp=xyz

Kubectl также поддерживает выражения пути JSON, чтобы получить более подробную информацию, перейдите по ссылке .Вы можете написать запрос, следуя синтаксису, указанному в ссылке.

...