第 13 章 管理 control plane 机器

13.1. 关于 control plane 机器集

使用 Control Plane 集群集,您可以自动管理 OpenShift Container Platform 集群中的 control plane 机器资源。

重要

control plane 机器集无法管理计算机器,计算机器集无法管理 control plane 机器。

control plane 机器集为 control plane 机器类似管理功能提供,因为计算机器提供的计算机器集一样。但是,这两种类型的机器集是在 Machine API 中定义的独立自定义资源,并在其架构和功能中有几个基本区别。

13.1.1. Control Plane Machine Set Operator 概述

Control Plane Machine Set Operator 使用 ControlPlaneMachineSet 自定义资源(CR) 自动管理 OpenShift Container Platform 集群中的 control plane 机器资源。

当集群 control plane 机器集设置为 Active 时,Operator 可确保集群具有正确的带有指定配置的 control plane 机器数量。这允许自动替换降级 control plane 机器,并推出对 control plane 的更改。

集群只有一个 control plane 机器集,Operator 则仅管理 openshift-machine-api 命名空间中的对象。

13.1.2. Control Plane Machine Set Operator 限制

Control Plane Machine Set Operator 有以下限制:

  • 仅支持 Amazon Web Services (AWS)、Microsoft Azure 和 VMware vSphere 集群。
  • 没有代表 control plane 节点的预先存在的机器的集群无法使用 control plane 机器集,或者在安装后启用使用 control plane 机器集。通常,只有在使用安装程序置备的基础架构安装集群时才存在已存在的 control plane 机器。

    要确定集群是否有所需的已存在的 control plane 机器,请以具有管理员特权的用户身份运行以下命令:

    $ oc get machine \
      -n openshift-machine-api \
      -l machine.openshift.io/cluster-api-machine-role=master

    显示预先存在的 control plane 机器的输出示例

    NAME                    PHASE     TYPE         REGION      ZONE         AGE
    <infrastructure_id>-master-0   Running   m6i.xlarge   us-west-1   us-west-1a   5h19m
    <infrastructure_id>-master-1   Running   m6i.xlarge   us-west-1   us-west-1b   5h19m
    <infrastructure_id>-master-2   Running   m6i.xlarge   us-west-1   us-west-1a   5h19m

    缺少预先存在的 control plane 机器的输出示例

    No resources found in openshift-machine-api namespace.

  • Operator 需要 Machine API Operator 可以正常工作,因此不支持使用手动置备的机器。当安装带有为一个平台手动置备的机器(这会创建一个主动生成的 ControlPlaneMachineSet CR)的 OpenShift Container Platform 集群时,您必须删除定义 control plane 机器集的 Kubernetes 清单文件,如安装过程所示。
  • 仅支持具有三个 control plane 机器的集群。
  • 不支持 control plane 的水平扩展。
  • 在 Ephemeral OS 磁盘上部署 Azure control plane 机器会增加数据丢失的风险,且不被支持。
  • 不支持将 control plane 机器部署为 AWS Spot 实例或 Azure Spot 虚拟机。

    重要

    尝试将 control plane 机器部署为 AWS Spot 实例或 Azure Spot 虚拟机可能会导致集群丢失 etcd 仲裁。丢失了所有 control plane 机器的集群无法恢复。

  • 不支持在安装过程中或之前更改 control plane 机器集。您必须仅在安装后对 control plane 机器集进行任何更改。

13.1.3. 其他资源