从Kubernetes吊舱获取部署注释
每个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
$ 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}'