开始使用控制平面机器集的过程取决于集群中ControlPlaneMachineSet自定义资源 (CR) 的状态。
具有活动状态的生成 CR 的集群默认使用控制平面机器集。不需要管理员操作。
对于包含非活动生成 CR 的集群,您必须检查 CR 配置并激活 CR。
对于不包含生成 CR 的集群,您必须创建并激活一个 CR,其中包含适合您集群的配置。
如果您不确定集群中ControlPlaneMachineSet CR 的状态,您可以验证 CR 状态。
在 OpenShift Container Platform 4.17 中,控制平面机器集支持 Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure、Nutanix 和 VMware vSphere 集群。
安装后控制平面机器集的状态取决于您的云提供商和您在集群上安装的 OpenShift Container Platform 版本。
| 云提供商 | 默认情况下处于活动状态 | 生成的 CR | 需要手动创建 CR |
|---|---|---|---|
Amazon Web Services (AWS) |
X [1] |
X |
|
Google Cloud Platform (GCP) |
X [2] |
X |
|
Microsoft Azure |
X [2] |
X |
|
Nutanix |
X [3] |
X |
|
Red Hat OpenStack Platform (RHOSP) |
X [3] |
X |
|
VMware vSphere |
X [4] |
X |
您可以验证ControlPlaneMachineSet自定义资源 (CR) 的存在和状态。
通过运行以下命令确定 CR 的状态
$ oc get controlplanemachineset.machine.openshift.io cluster \
--namespace openshift-machine-api
Active的结果表明ControlPlaneMachineSet CR 存在并已激活。不需要管理员操作。
如果结果为Inactive,则表示ControlPlaneMachineSet CR 存在但未激活。
如果结果为NotFound,则表示不存在ControlPlaneMachineSet CR。
要使用控制平面机器集,必须确保存在一个具有集群正确设置的ControlPlaneMachineSet CR。
如果您的集群已存在 CR,则必须验证 CR 中的配置是否适合您的集群。
如果您的集群不存在 CR,则必须创建一个具有集群正确配置的 CR。
要使用控制平面机器集,必须确保存在一个具有集群正确设置的ControlPlaneMachineSet 自定义资源 (CR)。在具有生成的 CR 的集群上,必须验证 CR 中的配置是否适合您的集群并将其激活。
|
有关 CR 中参数的更多信息,请参见“控制平面机器集配置”。 |
运行以下命令查看 CR 的配置
$ oc --namespace openshift-machine-api edit controlplanemachineset.machine.openshift.io cluster
更改与您的集群配置不符的任何字段的值。
配置正确后,通过将.spec.state字段设置为Active并保存更改来激活 CR。
|
要激活 CR,必须在用于更新 CR 配置的同一 |
要使用控制平面机器集,必须确保存在一个具有集群正确设置的ControlPlaneMachineSet 自定义资源 (CR)。在没有生成 CR 的集群上,必须手动创建 CR 并将其激活。
|
有关 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
|
||
| 2 | 指定操作员的状态。当状态为Inactive时,操作员不可用。您可以通过将值设置为Active来激活操作员。
|
||
| 3 | 指定集群的更新策略。有效值为OnDelete和RollingUpdate。默认值为RollingUpdate。有关更新策略的更多信息,请参见“更新控制平面配置”。 |
||
| 4 | 指定您的云提供商平台名称。有效值为AWS、Azure、GCP、Nutanix、VSphere和OpenStack。 |
||
| 5 | 为集群添加<platform_failure_domains>配置。此部分的格式和值是特定于提供商的。有关更多信息,请参见您的云提供商的故障域配置示例。 |
||
| 6 | 指定基础架构 ID。 | ||
| 7 | 为集群添加<platform_provider_spec>配置。此部分的格式和值是特定于提供商的。有关更多信息,请参见您的云提供商的提供商规范示例。 |
参考控制平面机器集 CR 的 YAML 示例,并使用适合您的集群配置的值填充您的文件。
参考您的云提供商的故障域配置示例和提供商规范示例,并使用适当的值更新文件的这些部分。
配置正确后,通过将.spec.state字段设置为Active并保存更改来激活 CR。
通过运行以下命令从您的 YAML 文件创建 CR
$ oc create -f <control_plane_machine_set>.yaml
其中<control_plane_machine_set>是包含 CR 配置的 YAML 文件的名称。