获得Kubernetes部署吊舱的推荐方法是什么?
特别是考虑到创建和更新部署所涉及的所有异步过程,我发现很难可靠地找到与给定部署的当前版本相关联的当前POD 目前,我有:获得Kubernetes部署吊舱的推荐方法是什么?,kubernetes,kubernetes-pod,kubernetes-deployment,Kubernetes,Kubernetes Pod,Kubernetes Deployment,特别是考虑到创建和更新部署所涉及的所有异步过程,我发现很难可靠地找到与给定部署的当前版本相关联的当前POD 目前,我有: 将唯一标签添加到部署的模板中 获取展开的修订号 获取带有标签的所有副本集 对其进行进一步筛选,以找到具有正确修订号的版本 从副本集中提取pod模板哈希 获取所有带有标签的pod以及pod模板散列 这既尴尬又复杂。此外,我不确定(4)和(6)是否保证只产生想要的对象。但我不能根据自己的参考资料过滤,对吗 有没有更健壮、更简单的方法?当您创建部署时,它会创建ReplicaSet,
有没有更健壮、更简单的方法?当您创建部署时,它会创建ReplicaSet,从而创建POD ReplicaSet包含“ownerReferences”路径,其中包括父部署的名称和UID POD包含与父副本集链接相同的路径 以下是复制集信息的示例:
# kubectl get rs nginx-deployment-569477d6d8 -o yaml
apiVersion: extensions/v1beta1
kind: ReplicaSet
...
name: nginx-deployment-569477d6d8
namespace: default
ownerReferences:
- apiVersion: extensions/v1beta1
blockOwnerDeletion: true
controller: true
kind: Deployment
name: nginx-deployment
uid: acf5fe8a-5d0e-11e8-b14f-42010a8000fc
…为什么有人认为这篇文章离题了?我不确定我是否理解你的问题。您是在寻找最新的播客(基于部署的最新版本)还是与之相关的所有播客?如果您想要所有的pod,为什么不将一个唯一的标签与部署模板关联起来,并对pod进行筛选呢?我只想要与当前部署版本关联的pod。我相应地澄清了问题。这只是解决方案的一部分。您还必须考虑
修订版
。是的,您需要修订版
才能获得正确的复制集
。部署的修订版可以通过kubectl get-o jsonpath=“{.metadata.annotations.deployment\.kubernetes\.io/revision}”)获得。