2.34. 将节点设置为维护模式
2.34.1. 了解节点维护模式
将节点置于维护中可将节点标记为不可调度,并排空其中的所有虚拟机和 pod。具有 LiveMigrate
驱除策略的虚拟机实例实时迁移到另一节点不会丢失服务。在从通用模板创建的虚拟机中默认配置此驱除策略,而自定义虚拟机则必须手动更配置。
没有驱除策略的虚拟机实例将在该节点上被删除,并会在另一节点上重新创建。
虚拟机必须具有一个采用共享 ReadWriteMany (RWX) 访问模式的 PersistentVolumeClaim (PVC) 才能实时迁移。
通过 web 控制台或 CLI 将节点置于维护模式
2.34.2. 通过 web 控制台将节点设置为维护模式
使用 Compute
流程
-
在容器原生虚拟化控制台中,点击 Compute
Nodes。 您可从此屏幕将节点设置为维护,这有助于在一个屏幕中对多个虚拟机执行操作,也可通过 Node Details 屏幕进行,其中可查看所选节点的综合详情:
- 点击 Options 菜单 (在节点后面),然后选择 Start Maintenance。
-
点击节点名称以打开 Node Details 屏幕,然后点击 Actions
Start Maintenance。
- 在确认窗口中点击 Start Maintenance。
该节点将实时迁移具有 liveMigration
驱除策略的虚拟机实例,且该节点不可再调度。该节点上的所有其他 pod 和虚拟机均被删除,并会在另一节点上重新创建。
2.34.3. 在 CLI 中将节点设置为维护模式
通过创建 NodeMaintenance
自定义资源 (CR) 对象来将节点设置为维护模式,该对象需引用节点名称以及将节点设置为维护模式的原因。
流程
创建节点维护模式的 CR 配置。本例使用名为
node02-maintenance.yaml
的 CR:apiVersion: kubevirt.io/v1alpha1 kind: NodeMaintenance metadata: name: node02-maintenance spec: nodeName: node02 reason: "Replacing node02"
在集群中创建
NodeMaintenance
对象:$ oc apply -f <node02-maintenance.yaml>
该节点会实时迁移具有 liveMigration
驱除策略的虚拟机实例,并污染该节点,使其不可再调度。该节点上的所有其他 pod 和虚拟机均被删除,并会在另一节点上重新创建。
其他资源: