This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.2. 将节点设置为维护模式
通过 Web 控制台、CLI 或者使用 NodeMaintenance
自定义资源将节点置于维护模式。
11.2.1. 通过 web 控制台将节点设置为维护模式 复制链接链接已复制到粘贴板!
使用 Compute
的 Options 菜单,或使用 Node Details 屏幕的 Actions 控件,将节点设置 为 维护模式。
流程
-
在 OpenShift Container Platform 控制台中,点 Compute
Nodes。 您可从此屏幕将节点设置为维护,这有助于在一个屏幕中对多个虚拟机执行操作,也可通过 Node Details 屏幕进行,其中可查看所选节点的综合详情:
-
点击节点
末尾的 Options 菜单并选择 Start Maintenance。
-
点击节点名称以打开 Node Details 屏幕,然后点击 Actions
Start Maintenance。
-
点击节点
- 在确认窗口中点击 Start Maintenance。
该节点将实时迁移具有 LiveMigration
驱除策略的虚拟机实例,且该节点不可再调度。该节点上的所有其他 pod 和虚拟机均被删除,并会在另一节点上重新创建。
11.2.2. 在 CLI 中将节点设置为维护模式 复制链接链接已复制到粘贴板!
通过将节点标记为不可调度,并使用 oc adm drain
命令从节点驱除或删除 pod,将节点设置为维护模式。
流程
将节点标记为不可调度。节点状态变为
NotReady,SchedulingDisabled
。oc adm cordon <node1>
$ oc adm cordon <node1>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 排空节点以准备进行维护。节点实时迁移
LiveMigratable
条件设置为True
,spec:evictionStrategy
字段设置为LiveMigrate
的虚拟机实例。该节点上的所有其他 pod 和虚拟机均被删除,并会在另一节点上重新创建。oc adm drain <node1> --delete-emptydir-data --ignore-daemonsets=true --force
$ oc adm drain <node1> --delete-emptydir-data --ignore-daemonsets=true --force
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--delete-emptydir-data
标志会删除节点上使用emptyDir
卷的任何虚拟机实例。这些卷中的数据是临时的,在终止后可以被安全地删除。 -
--ignore-daemonsets=true
标志确保守护进程集被忽略,pod 驱除可以成功继续。 -
需要
--force
标志来删除不是由副本集或守护进程设置控制器管理的 pod。
-
11.2.3. 使用 NodeMaintenance 自定义资源将节点设置为维护模式 复制链接链接已复制到粘贴板!
您可以使用 NodeMaintenance
自定义资源(CR)将节点置于维护模式。应用 NodeMaintenance
CR 时,所有允许的 pod 都会被驱除并关闭该节点。被驱除的 pod 会被放入到集群中的另一节点中。
先决条件
-
安装 OpenShift Container Platform CLI
oc
。 -
以具有
cluster-admin
权限的用户身份登录集群。
流程
创建以下节点维护 CR,并将文件保存为
nodemaintenance-cr.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用节点维护计划:
oc apply -f nodemaintenance-cr.yaml
$ oc apply -f nodemaintenance-cr.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将
<node-name>
替换为节点的名称来检查维护任务的进度:oc describe node <node-name>
$ oc describe node <node-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodeNotSchedulable 61m kubelet Node node-1.example.com status is now: NodeNotSchedulable
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodeNotSchedulable 61m kubelet Node node-1.example.com status is now: NodeNotSchedulable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.2.3.1. 检查当前 NodeMaintenance CR 任务的状态 复制链接链接已复制到粘贴板!
您可以检查当前 NodeMaintenance
CR 任务的状态。
先决条件
-
安装 OpenShift Container Platform CLI
oc
。 -
以具有
cluster-admin
权限的用户身份登录。