如何通过指定自定义 属性 值来获取 Deployments ($ kubectl get deployments)?
How to get Deployments ($ kubectl get deployments) by specifying custom property value?
我已经部署了一个 Kubernetes 服务,当我查询获取 Deployment 时 $ kubectl get deployments
,我可以看到 Deployment。
Deployment 的 json
如下所示 --
apiVersion: v1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
metadata:
labels:
app: test
release: testRelease
customProp: xyz
我的问题是如何构造一个查询,通过指定 'customProp' 值来获取 Deployment。 kubectl
是否支持将 jsonpath 作为查询的一部分传递?这样我就可以传递一个 json
路径,如 jsonpath='{$.spec.template.metadata.labels.customProp}'
,并将此 jsonPath 的值作为 'xyz'。
这就是我想执行的:
$ kubectl get deployments -n <namespace> <json path query>
但是不确定如何构建 json
路径查询并与 $kubectl get deployments
一起传递。
Kubectl 支持query feature,你可以使用下面的查询
kubectl get pods --selector=customProp=xyz
Kubectl 也支持 JSON 路径表达式,要了解更多详细信息,请关注 link。您可以按照 link.
中显示的语法编写查询
是的,可以使用 jsonpath 向 kube-apiserver
查询资源。 运行 以下命令得到你想要的:
$ kubectl get deploy test -o=jsonpath='{.spec.template.metadata.labels.customProp}'
为您的部署对象添加标签。然后用下面的命令查询具体部署
kubectl get deploy -l 标签名=标签值
要将部署的映像名称作为字符串,您可以从部署 yaml 中的任何属性中进行选择。
kubectl get deploy/${image.name} -o jsonpath="{..image}"
我已经部署了一个 Kubernetes 服务,当我查询获取 Deployment 时 $ kubectl get deployments
,我可以看到 Deployment。
Deployment 的 json
如下所示 --
apiVersion: v1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
metadata:
labels:
app: test
release: testRelease
customProp: xyz
我的问题是如何构造一个查询,通过指定 'customProp' 值来获取 Deployment。 kubectl
是否支持将 jsonpath 作为查询的一部分传递?这样我就可以传递一个 json
路径,如 jsonpath='{$.spec.template.metadata.labels.customProp}'
,并将此 jsonPath 的值作为 'xyz'。
这就是我想执行的:
$ kubectl get deployments -n <namespace> <json path query>
但是不确定如何构建 json
路径查询并与 $kubectl get deployments
一起传递。
Kubectl 支持query feature,你可以使用下面的查询
kubectl get pods --selector=customProp=xyz
Kubectl 也支持 JSON 路径表达式,要了解更多详细信息,请关注 link。您可以按照 link.
中显示的语法编写查询是的,可以使用 jsonpath 向 kube-apiserver
查询资源。 运行 以下命令得到你想要的:
$ kubectl get deploy test -o=jsonpath='{.spec.template.metadata.labels.customProp}'
为您的部署对象添加标签。然后用下面的命令查询具体部署
kubectl get deploy -l 标签名=标签值
要将部署的映像名称作为字符串,您可以从部署 yaml 中的任何属性中进行选择。
kubectl get deploy/${image.name} -o jsonpath="{..image}"