13.2. control plane 机器集入门


control plane 机器集入门的过程取决于集群中的 ControlPlaneMachineSet 自定义资源 (CR) 的状态。

生成的具有活跃状态的 CR 的集群
生成的具有活跃状态的 CR 的集群默认使用 control plane 机器集。不需要管理员操作。
具有生成的不活跃 CR 的集群
对于包含具有生成的不活跃 CR 的集群,您必须检查 CR 配置并激活 CR
没有生成的 CR 的集群
对于不包含生成的 CR 的集群,您必须为集群 创建并激活具有适当配置的 CR

如果不确定集群中 ControlPlaneMachineSet CR 的状态,您可以验证 CR 状态

13.2.1. 支持的云供应商

在 OpenShift Container Platform 4.12 中,Amazon Web Services (AWS)、Microsoft Azure 和 VMware vSphere 集群支持 control plane 机器集。

安装后 control plane 机器集的状态取决于您的云供应商和集群中安装的 OpenShift Container Platform 版本。

表 13.1. OpenShift Container Platform 4.12 的 control plane 机器集实现
云供应商默认激活生成的 CR需要手动 CR

Amazon Web Services (AWS)

X [1]

X

 

Microsoft Azure

  

X

VMware vSphere

  

X

  1. 从早期版本升级到 4.12 版本的 AWS 集群需要激活 CR

13.2.2. 检查 control plane 机器设置自定义资源状态

您可以验证 ControlPlaneMachineSet 自定义资源 (CR) 是否存在以及其状态。

流程

  • 运行以下命令确定 CR 的状态:

    $ oc get controlplanemachineset.machine.openshift.io cluster \
      --namespace openshift-machine-api
    • Active 的结果表示 ControlPlaneMachineSet CR 存在并被激活。不需要管理员操作。
    • Inactive 表示 ControlPlaneMachineSet CR 存在但没有激活。
    • NotFound 表示没有现有的 ControlPlaneMachineSet CR。

后续步骤

要使用 control plane 机器集,您必须确保集群有正确设置的 ControlPlaneMachineSet CR。

  • 如果您的集群有一个现有的 CR,您必须验证 CR 中的配置是否正确。
  • 如果集群没有现有的 CR,则必须为集群创建一个带有正确配置的 CR。

13.2.3. 激活 control plane 机器集自定义资源

要使用 control plane 机器集,您必须确保集群有正确设置的 ControlPlaneMachineSet 自定义资源 (CR)。在具有生成的 CR 集群中,您必须验证 CR 中的配置对于您的集群是否是正确的,并激活它。

注意

如需有关 CR 中参数的更多信息,请参阅"Control plane 机器集配置"。

流程

  1. 运行以下命令,查看 CR 的配置:

    $ oc --namespace openshift-machine-api edit controlplanemachineset.machine.openshift.io cluster
  2. 更改集群配置不正确的字段的值。
  3. 当配置正确时,通过将 .spec.state 字段设置为 Active 并保存您的更改来激活 CR。

    重要

    要激活 CR,您必须在用来更新 CR 配置的同一 oc edit 会话中将 .spec.state 字段改为 Active。如果 CR 保存为 Inactive,control plane 机器集生成器会将 CR 重置为其原始设置。

13.2.4. 创建 control plane 机器集自定义资源

要使用 control plane 机器集,您必须确保集群有正确设置的 ControlPlaneMachineSet 自定义资源 (CR)。在没有生成的 CR 的集群中,您必须手动创建 CR 并激活它。

注意

如需有关 CR 的结构和参数的更多信息,请参阅"Control plane 机器集配置"。

流程

  1. 使用以下模板创建 YAML 文件:

    control plane 机器集 CR YAML 文件模板

    apiVersion: machine.openshift.io/v1
    kind: ControlPlaneMachineSet
    metadata:
      name: cluster
      namespace: openshift-machine-api
    spec:
      replicas: 3
      selector:
        matchLabels:
          machine.openshift.io/cluster-api-cluster: <cluster_id> 1
          machine.openshift.io/cluster-api-machine-role: master
          machine.openshift.io/cluster-api-machine-type: master
      state: Active 2
      strategy:
        type: RollingUpdate 3
      template:
        machineType: machines_v1beta1_machine_openshift_io
        machines_v1beta1_machine_openshift_io:
          failureDomains:
            platform: <platform> 4
            <platform_failure_domains> 5
          metadata:
            labels:
              machine.openshift.io/cluster-api-cluster: <cluster_id> 6
              machine.openshift.io/cluster-api-machine-role: master
              machine.openshift.io/cluster-api-machine-type: master
          spec:
            providerSpec:
              value:
                <platform_provider_spec> 7

    1
    指定基于置备集群时所设置的集群 ID 的基础架构 ID。在创建 ControlPlaneMachineSet CR 时,您必须指定这个值。如果已安装 OpenShift CLI(oc)软件包,您可以通过运行以下命令来获取基础架构 ID:
    $ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
    2
    指定 Operator 的状态。当状态为 Inactive 时,Operator 无法正常工作。您可以通过将值设置为 Active 来激活 Operator。
    重要

    在激活 CR 前,您必须确保其配置正确并满足集群要求。

    3
    指定集群的更新策略。允许的值是 OnDeleteRollingUpdate。默认值为 RollingUpdate
    4
    指定您的云供应商平台名称。允许的值有 AWSAzureVSphere
    5
    为集群添加 <platform_failure_domains> 配置。本节的格式和值特定于提供程序。如需更多信息,请参阅您的云供应商的故障域配置示例。
    注意

    VMware vSphere 不支持故障域。对于 vSphere 集群,将 <platform_failure_domains> 替换为一个空的 failureDomains: 参数。

    6
    指定基础架构 ID。
    7
    为集群添加 <platform_provider_spec> 配置。本节的格式和值特定于提供程序。如需更多信息,请参阅云供应商的供应商规格示例。
  2. 请参阅 control plane 机器集 CR 的示例 YAML,并使用适合集群配置的值填充该文件。
  3. 请参阅云供应商的示例故障域配置和示例供应商规格,并使用适当的值更新您的文件的这些部分。
  4. 当配置正确时,通过将 .spec.state 字段设置为 Active 并保存您的更改来激活 CR。
  5. 运行以下命令,从 YAML 文件创建 CR:

    $ oc create -f <control_plane_machine_set>.yaml

    其中 <control_plane_machine_set> 是包含 CR 配置的 YAML 文件的名称。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.