将Pod迁移到其他节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Pod迁移到其他节点相关的知识,希望对你有一定的参考价值。
参考技术A 因服务器升级迁移,需要将升级的节点上的pod迁移到其他节点。
可以改yaml中指定临时标签,重新部署,但比较麻烦,通常会采用cordon/uncordon节点的方案。
集群中三个节点:
kubectl cordon k8s-node2 #将节点2设置不不可调度
但此时是新的pod不会再分配到该节点,但原节点2上的pod不会自动迁移,node2的状态为 Ready,SchedulingDisabled
执行如下命令迁移节点的pod
kubectl drain k8s-node2 --delete-local-data --ignore-daemonsets --force
输出:
节点2维护完毕后,可以再将节点2还原成Ready可分配的状态
kubectl uncordon k8s-node2
精品k8s的pod迁移与节点停机维护
目标:
通过学习,了解pod迁移与节点停机维护的场景,以及需要注意的事项。
内容:
背景:某个节点由于某些原因经常故障,导致其上的pod与集群失联,造成整个集群问题
流程:将 问题节点k8s-node02 设置为不可调度,然后重新调度该节点上的所有 Pod
注意事项:某些特殊的pod是无法重新调度到其他节点,例如,维持通信的calico,若它被调度到其他节点,本节点将与无法与集群通信。
步骤:
节点设置为不可调度
-
执行命令,确定当前节点状态: kubectl get no
-
执行设置为不可调度状态命令,再次查看节点状态:kubectl cordon k8s-node02
扩展:若要恢复节点为可调度,怎么操作?
执行此条命令即可:kubectl uncordon k8s-node02
以上是关于将Pod迁移到其他节点的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes网络模型 -flannel +Calico
node节点flannel网络问题导致该node上的pod与其他node节点网络不通的排查思路与解决
flannel网络问题:node节点flannel网络问题导致该node上的pod与其他node节点网络不通的排查思路与解决