我在用当地的在我的 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 delete deploy/example --cascade=orphan
其子副本集和 Pod 应该仍然存在。此时,您可以创建替换部署。