在维护k8s集群过程中,我们经常会遇到升级或降级服务器配置,为了不影响节点上的pod正常运行,我们需要先设置节点不可调度,然后驱逐节点上的pod,再进行升级或降级。
封锁节点,先让节点变的不可调度(但不对其上的pod做任何事 )
kubectl cordon
驱逐pod,该操作做完之后就可以进行节点升级等操作
kubectl drain
还有另外一种方法可以让新的pod不调度到需要升级或降级的节点上,那就是设置污点。但是设置污点不会影响已经在节点上运行的pod。
设置污点
kubectl taint nodes k8s-node2 check=yuanzhang:NoExecute
扩展:
#允许调度
kubectl uncordon