本地持久卷和 nodeAffinity

本地持久卷和 nodeAffinity

我在用当地的在我的 Kubernetes 集群中,我目前有两个工作节点(node1、node2)。因此,在创建本地持久卷时,我添加了与这些节点的节点亲和性。

  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - node1
          - node2

10 个部署正在使用这些 PV 运行。现在,我想向集群添加一个新的工作节点(node3)。我尝试修改持久卷,但无法修改 nodeAffinity,因为显示“字段是不可变的”。我现在该怎么做?如果我不修改 PV,pod 将不会在新的工作节点上进行调度?

如何解决这种情况?

答案1

当某个字段不可变时,您可以做的是删除父对象,并将选项 optioncascade设置为 orphan (在旧版本中为“false”/如果无法识别“orphan”)

kubectl 文档

准备好新配置后,删除旧对象

kubectl delete deploy/example --cascade=orphan

其子副本集和 Pod 应该仍然存在。此时,您可以创建替换部署。

相关内容