我的k8s群集最初有2个节点和1个主节点,我使用3pods部署了statefulset,因此带PVC的3pods在2个节点上运行。现在我将节点数从2增加到3。所以现在k8s是3nodes和1master。我想将有状态容器之一移到新添加的节点上,而不删除PVC,这样3个容器将分别散布在3个节点上。我尝试删除pod,但是它在同一节点上创建,而不是在新节点上创建(这是预期的)。有人可以让我知道是否可以在不删除PVC的情况下将一个吊舱移动到另一个节点吗?这可以实现吗?或其他替代解决方案,因为我不想删除PVC。
答案 0 :(得分:1)
不建议删除有状态集的容器。您可以将有状态集按比例缩小到2个副本,然后按比例放大到3。
kubectl get statefulsets <stateful-set-name>
kubectl scale statefulsets <stateful-set-name> --replicas=<new-replicas>
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以通过封锁运行 Pod 的节点然后重新部署 Pod 来强制在不同的节点上启动 Pod。这样 kubernetes 就必须把它放到一个不同的节点上。之后你可以解开节点。