gpt4 book ai didi

kubernetes - 建议在排水之前将单独的 pods 移动到其他节点的建议方法是什么?这样,kubectl排水节点1 --force不会删除 pods

转载 作者:行者123 更新时间:2023-12-02 11:40:06 24 4
gpt4 key购买 nike

在文档中找不到该怎么做。用非ReplicationController管理的--ignore-daemonsets --force pod耗尽节点后,ReplicaSet,Job,DaemonSet或StatefulSet丢失。在发出排水命令之前,我应如何移动此类 pods ?我想在这些容器上保留本地数据。

最佳答案

好的做法是始终将pod作为specs.replicas: 1Deployment启动。这很容易,因为部署specs.template从字面上接受了Pod的specs,并且非常方便,因为部署将确保Pod始终处于运行状态。

然后,假设您只有一个Pod副本,则可以简单地使用PersistentVolumeClaim并将其作为卷附加到Pod,在这种情况下不需要StatefulSet。您的数据将存储在PVC中,并且无论您的Pod出于何种原因在节点上移动时,它都会自动重新连接该卷,而不会丢失任何数据。

现在,如果为时已晚,并且您的Pod尚未指向PVC,您仍然可以通过实现Deployment / PVC方法并手动从当前Pod中复制数据来准备更改它:

kubectl cp theNamespace/thePod:/the/path /somewhere/on/your/local/computer

在将其复制回新容器之前:
kubectl cp /somewhere/on/your/local/computer theNamespace/theNewPod:/the/path

这次,只需确保 /the/path(重用上面的示例)实际上是一个映射到PVC的卷,因此您不必再次手动进行操作!

关于kubernetes - 建议在排水之前将单独的 pods 移动到其他节点的建议方法是什么?这样,kubectl排水节点1 --force不会删除 pods ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53532513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com