从Kubernetes吊舱获取部署注释

从Kubernetes吊舱获取部署注释,kubernetes,Kubernetes,每个Kubernetes部署都会获得以下注释: $ kubectl describe deployment/myapp Name: myapp Namespace: default CreationTimestamp: Sat, 24 Mar 2018 23:27:42 +0100 Labels: app=myapp Annotations: deployment.kub

每个Kubernetes部署都会获得以下注释:

$ kubectl describe deployment/myapp
Name:                   myapp
Namespace:              default
CreationTimestamp:      Sat, 24 Mar 2018 23:27:42 +0100
Labels:                 app=myapp
Annotations:            deployment.kubernetes.io/revision=5
有没有办法从属于部署的pod中读取该注释(
deployment.kubernetes.io/revision


我尝试了向下API,但这只允许获取pod本身的注释(而不是其部署的注释)。

是的,您可以使用以下命令从pod获取注释:

kubectl describe pod your_podname

您将找到包含pod所有注释的注释部分。

仅获取pod中您可以使用的注释部分

kubectl get pod YOUR_POD_NAME | get -i 'annotations'
您还可以使用jsonPath,如

kubectl get pod YOUR_POD_NAME -o jsonpath='{.metadata.annotations}{"\n"}'

这已经有很长一段时间了,但我要做的是得到一个特定的注释:

kubectl get ing test -o jsonpath='{.metadata.annotations.kubernetes\.io/ingress\.class}'
因此,对你来说,这将是:

kubectl get deploy myapp -o jsonpath='{.metadata.annotations.deployment\.kubernetes\.io/revision}'

我希望它能有所帮助。

请在代码中提供一些解释。您不能在descripe命令中指定输出,只能在get命令中指定输出
kubectl get deploy myapp -o jsonpath='{.metadata.annotations.deployment\.kubernetes\.io/revision}'