从Kubernetes Pod获取部署注释

时间:2018-05-01 17:04:44

标签: kubernetes

每个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)?

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

4 个答案:

答案 0 :(得分:1)

已经很长时间了,但是我要做的是获取特定的注释:

kubectl get ing test -o jsonpath='{.metadata.annotations.kubernetes\.io/ingress\.class}'

对您而言,它将是:

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

希望对您有帮助。

答案 1 :(得分:0)

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

kubectl describe pod your_podname

你会发现Annotations部分包含pod的所有注释。

答案 2 :(得分:0)

要仅获取广告连播的注释部分,您可以使用

kubectl describe pod YOUR_POD_NAME | get -i 'annotations'

您还可以使用

之类的jsonPath
kubectl describe pod YOUR_POD_NAME -o jsonpath='{.metadata.annotations}{"\n"}'

答案 3 :(得分:0)

kubectl get pod POD_NAME -o jsonpath='{.metadata.annotations}'