5.6. 使用 Poison Pill Operator 修复节点
您可以使用 Poison Pill Operator 自动重新引导不健康的节点。此补救策略可最小化有状态应用程序和 ReadWriteOnce (RWO) 卷的停机时间,并在发生临时故障时恢复计算容量。
5.6.1. 关于 Poison Pill Operator
Poison Pill Operator 在集群节点中运行,并重启被识别为不健康的节点。Operator 使用 MachineHealthCheck
控制器来检测集群中节点的健康状况。当节点被识别为不健康时,MachineHealthCheck
资源会创建 PoisonPillRemediation
自定义资源 (CR),这会触发 Poison Pill Operator。
Poison Pill Operator 会最大程度减少有状态应用程序的停机时间,并在发生临时故障时恢复计算容量。无论 IPMI 或 API 等管理界面如何置备节点,都可使用此 Operator 来置备节点,无论集群安装类型是什么,如安装程序置备的基础架构或用户置备的基础架构。
5.6.1.1. 了解 Poison Pill Operator 配置
Poison Pill Operator 在 Poison Pill Operator 命名空间中创建 PoisonPillConfig
CR,名称为 poison-pill-config
。您可以编辑这个 CR。但是,您无法为 Poison Pill Operator 创建新 CR。
PoisonPillConfig
CR 中的更改会重新创建 Poison Pill 守护进程集。
PoisonPillConfig
CR 类似以下 YAML 文件:
apiVersion: poison-pill.medik8s.io/v1alpha1 kind: PoisonPillConfig metadata: name: poison-pill-config namespace: openshift-operators spec: safeTimeToAssumeNodeRebootedSeconds: 180 1 watchdogFilePath: /test/watchdog1 2 isSoftwareRebootEnabled: true 3 apiServerTimeout: 15s 4 apiCheckInterval: 5s 5 maxApiErrorThreshold: 3 6 peerApiServerTimeout: 5s 7 peerDialTimeout: 5s 8 peerRequestTimeout: 5s 9 peerUpdateInterval: 15m 10
- 1
- 指定存活对等点的超时持续时间,然后 Operator 可以假定一个不健康的节点已被重启。Operator 自动计算这个值的下限。但是,如果不同的节点有不同的 watchdog 超时,则必须将此值改为更高的值。
- 2
- 指定节点中 watchdog 设备的文件路径。如果 watchdog 设备不可用,
PisonPillConfig
CR 将使用软件重新引导。 - 3
- 指定是否启用不健康节点的软件重启。默认情况下,
SoftwareRebootEnabled
的值设置为true
。要禁用软件重启,请将参数设置为false
。 - 4
- 指定检查每个 API 服务器的连接的超时持续时间。此超过了此持续时间,Operator 会启动补救。
- 5
- 指定检查每个 API 服务器的连接的频率。
- 6
- 指定一个阈值。达到这个阈值后,节点开始联系其同级服务器。
- 7
- 指定要与对等 API 服务器连接的超时持续时间。
- 8
- 指定与 peer 建立连接的超时持续时间。
- 9
- 指定从 peer 获取响应的超时时间。
- 10
- 指定更新对等信息的频率,如 IP 地址。
5.6.1.2. 关于 watchdog 设备
watchdog 设备可以是以下任意一种:
- 独立电源的硬件设备
- 与它们控制的主机共享电源的硬件设备
-
软件或
softdog
中实施的虚拟设备
硬件 watchdog 和 softdog
设备分别具有电子计时器和软件计时器。这些 watchdog 设备用于确保在检测到错误条件时机器进入安全状态。集群需要重复重置 watchdog 定时器以证明它处于健康状态。此计时器可能会因为出现错误条件而造成问题,如死锁、CPU 不足以及网络或磁盘访问的丢失。如果计时器过期,watchdog 设备会假设发生了错误,设备会触发强制重置节点。
硬件 watchdog 设备比 softdog
设备更可靠。
5.6.1.2.1. 了解使用 watchdog 设备的 Poison Pill Operator 行为
Poison Pill Operator 根据存在的 watchdog 设备决定补救策略。
如果配置了硬件 watchdog 设备并可用,Operator 会使用它进行补救。如果没有配置硬件 watchdog 设备,Operator 会启用并使用 softdog
设备进行补救。
如果既不支持 watchdog 设备,无论是系统或配置,Operator 都会使用软件重启来修复节点。
其他资源