驱逐或封锁节点

最近更新时间: 2024-06-12 15:06:00

操作场景

本文档指导您如何驱逐或封锁节点。

操作步骤

封锁节点

封锁(cordon)节点后,将不接受新的 Pod 调度到该节点,您需要手动取消封锁的节点。封锁节点有以下两种方法:

方法一

新增节点 时,在"云主机配置"页面,单击【高级设置】,勾选【开启封锁】。

方法二

  1. 登录TKE 控制台。

  2. 在左侧导航栏中,单击【集群】,进入"集群管理"页面。

  3. 单击需要封锁节点的集群【ID/名称】,进入该集群的管理页面。

  4. 在左侧导航栏中,选择【节点管理】 > 【节点】,进入“节点列表”页面。

  5. 在节点列表中,选择需要封锁的节点行,单击【封锁】。

  6. 在弹出的对话框中,单击【确定】,即可完成封锁。

取消封锁节点

取消封锁(uncordon)节点后,将允许新的 Pod 调度到该节点。取消封锁有以下两种方法:

方法一

通过执行脚本的方式新增节点时,您可以在该脚本中添加取消封锁节点的命令,即可取消封锁。其示例如下:

#!/bin/sh  
#your initialization script  
echo "hello world!"  
#If you set unschedulable when you create a node,  
#after executing your initialization script,  
#use the following command to make the node schedulable.  
node=`ifconfig eth0 | grep inet | awk '{print $2}' | tr -d "addr:"`  
#echo ${node}  
kubectl uncordon ${node} --kubeconfig=/root/.kube/config  

kubectl uncordon 命令即表示取消封锁节点。

方法二

  1. 登录TKE 控制台。

  2. 在左侧导航栏中,单击【集群】,进入“集群管理”页面。

  3. 单击需要取消封锁节点的集群 ID/名称,进入该集群的管理页面。

  4. 在左侧导航栏中,选择【节点管理】 > 【节点】,进入“节点列表”页面。

  5. 在节点列表中,选择需要取消封锁的节点行,单击【取消封锁】。

  6. 在弹出的对话框中,单击【确定】,即可完成取消封锁。

驱逐节点

概述

在节点上执行维护之前,您可以通过驱逐(drain)节点安全地从节点中逐出 Pod。节点驱逐后,自动将节点内的所有 Pod(不包含 DaemonSet 管理的 Pod)驱逐到集群内其他节点上,并将驱逐的节点设置为封锁状态。

说明: 本地存储的 Pod 被驱逐后数据将丢失,请谨慎操作。

操作方法

  1. 登录TKE 控制台。

  2. 在左侧导航栏中,单击【集群】,进入“集群管理”页面。

  3. 单击需要取消封锁节点的集群【ID/名称】,进入该集群的管理页面。

  4. 在左侧导航栏中,选择【节点管理】 > 【节点】,进入“节点列表”页面。

  5. 在需要驱逐节点的节点行中,单击【更多】>【驱逐】。

  6. 在弹出的对话框中,单击【确定】,即可完成驱逐。