Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得Kubernetes部署吊舱的推荐方法是什么?_Kubernetes_Kubernetes Pod_Kubernetes Deployment - Fatal编程技术网

获得Kubernetes部署吊舱的推荐方法是什么?

获得Kubernetes部署吊舱的推荐方法是什么?,kubernetes,kubernetes-pod,kubernetes-deployment,Kubernetes,Kubernetes Pod,Kubernetes Deployment,特别是考虑到创建和更新部署所涉及的所有异步过程,我发现很难可靠地找到与给定部署的当前版本相关联的当前POD 目前,我有: 将唯一标签添加到部署的模板中 获取展开的修订号 获取带有标签的所有副本集 对其进行进一步筛选,以找到具有正确修订号的版本 从副本集中提取pod模板哈希 获取所有带有标签的pod以及pod模板散列 这既尴尬又复杂。此外,我不确定(4)和(6)是否保证只产生想要的对象。但我不能根据自己的参考资料过滤,对吗 有没有更健壮、更简单的方法?当您创建部署时,它会创建ReplicaSet,

特别是考虑到创建和更新部署所涉及的所有异步过程,我发现很难可靠地找到与给定部署的当前版本相关联的当前POD

目前,我有:

  • 将唯一标签添加到部署的模板中
  • 获取展开的修订号
  • 获取带有标签的所有副本集
  • 对其进行进一步筛选,以找到具有正确修订号的版本
  • 从副本集中提取pod模板哈希
  • 获取所有带有标签的pod以及pod模板散列
  • 这既尴尬又复杂。此外,我不确定(4)和(6)是否保证只产生想要的对象。但我不能根据自己的参考资料过滤,对吗


    有没有更健壮、更简单的方法?

    当您创建部署时,它会创建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}”)获得。