2.2. control plane 隔离

在早期版本中,您可以在 worker 节点上启用自节点修复和 Node Health Check。如果节点失败,您现在可以在 control plane 节点上遵循补救策略。

在两种主要场景中进行自助服务修复。

  • API 服务器连接

    • 在这种情况下,要修复的 control plane 节点不会被隔离。它可以直接连接到 API 服务器,或者可以通过 worker 节点或 control-plane 节点间接连接到 API 服务器,这些节点直接连接到 API 服务器。
    • 当有 API 服务器连接时,只有在 Node Health Check Operator 为节点创建了 SelfNodeRemediation 自定义资源(CR)时,才会修复 control plane 节点。
  • 没有 API 服务器连接

    • 在这种情况下,要修复的 control plane 节点与 API 服务器隔离。节点无法直接连接或间接连接到 API 服务器。
    • 如果没有 API 服务器连接,则 control plane 节点将按照以下步骤进行修复:

      • 使用大多数对等 worker 节点检查 control plane 节点的状态。如果无法访问大多数对等 worker 节点,则会进一步分析该节点。

        • 自我诊断 control plane 节点的状态

          • 如果通过自我诊断,则不会执行任何操作。
          • 如果自我诊断失败,则该节点将被隔离并修复。
          • 目前支持的自诊断是使用 opt in 配置检查 kubelet 服务状态,以及检查端点的可用性。
      • 如果节点没有管理与大多数 worker 对等点通信,请检查 control plane 节点与其他 control plane 节点的连接。如果节点可以与任何其他 control plane peer 通信,则不会执行任何操作。否则,节点将被隔离并修复。