【问题标题】:if we want to make modification to running pods configuration, which is advisable whether to deployment or to pods?如果我们想对正在运行的 Pod 配置进行修改,建议是部署还是 Pod?
【发布时间】:2021-09-12 16:23:03
【问题描述】:

如果我们需要修改正在运行的 pod 的属性,推荐的方式是什么,原因是什么。

我猜一旦将 pod 作为部署的一部分部署,我们可以通过 kubectl edit pod 或 kubectl edit deploy 修改 pod 属性。

想了解这两个操作之间是否有任何区别。 ?

【问题讨论】:

    标签: kubernetes kubernetes-helm kubernetes-ingress azure-aks kubernetes-pod


    【解决方案1】:

    修改 Deployment 而不是 Pod。

    为什么?

    部署描述了您的 pod 所需的状态。 Deployment 控制器在控制循环中持续监视 Deployment 对象。它从 Deployment 规范中读取所需的 pod 状态,并尝试确保集群中的状态。因此,如果您编辑 pod 并更改某些内容,Deployment 控制器将在下一次重新同步时覆盖更改,因为您的修改不存在于 Deployment 规范中。

    【讨论】:

      【解决方案2】:

      在大多数情况下,您无法编辑 pod。在API definition of a PodSpec 中,containersinitContainers 字段都被描述为“无法更新”。 Pod 规范中几乎所有有趣的东西都在 Container 子对象中。

      由此得出的结论是,您不能“修改正在运行的 pod 的属性”。您只能删除它们并将其替换为具有所需属性的新 pod。如果您在部署规范中编辑 pod 模板,Kubernetes 就会这样做。

      【讨论】:

        猜你喜欢
        • 2019-01-23
        • 2020-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-22
        • 2022-01-17
        相关资源
        最近更新 更多