13.5. Cluster API 机器的配置选项


13.5.1. Amazon Web Services 的集群 API 配置选项

重要

使用集群 API 管理机器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

您可以通过更新 Cluster API 自定义资源清单中的值来更改 Amazon Web Services (AWS) 集群 API 机器的配置。

以下示例 YAML 文件显示了 Amazon Web Services 集群的配置。

基础架构资源是特定于提供程序的,定义由集群中所有计算机器集(如地区和子网)共享的属性。计算机器集在创建机器时引用此资源。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSCluster 
1

metadata:
  name: <cluster_name> 
2

  namespace: openshift-cluster-api
spec:
  controlPlaneEndpoint: 
3

    host: <control_plane_endpoint_address>
    port: 6443
  region: <region> 
4
Copy to Clipboard Toggle word wrap
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的地址以及用于访问它的端口。
4
指定 AWS 区域。

机器模板资源是特定于提供程序的,定义计算机器创建的机器的基本属性。计算机器设置在创建机器时引用此模板。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate 
1

metadata:
  name: <template_name> 
2

  namespace: openshift-cluster-api
spec:
  template:
    spec: 
3

      uncompressedUserData: true
      iamInstanceProfile: # ...
      instanceType: m5.large
      ignition:
        storageType: UnencryptedUserData
        version: "3.2"
      ami:
        id: # ...
      subnet:
        filters:
        - name: tag:Name
          values:
          - # ...
      additionalSecurityGroups:
      - filters:
        - name: tag:Name
          values:
          - # ...
Copy to Clipboard Toggle word wrap
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。

计算机器设置资源定义它所创建的机器的额外属性。计算机器集也会在创建机器时引用基础架构资源和机器模板。

apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
  name: <machine_set_name> 
1

  namespace: openshift-cluster-api
spec:
  clusterName: <cluster_name> 
2

  replicas: 1
  selector:
    matchLabels:
      test: example
  template:
    metadata:
      labels:
        test: example
    spec:
      bootstrap:
         dataSecretName: worker-user-data 
3

      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: AWSMachineTemplate 
4

        name: <template_name> 
5
Copy to Clipboard Toggle word wrap
1
为计算机器设置指定一个名称。
2
指定集群 ID 作为集群的名称。
3
对于 Cluster API 技术预览,Operator 可以使用 openshift-machine-api 命名空间中的 worker 用户数据 secret。
4
指定机器模板类型。这个值必须与您的平台的值匹配。
5
指定机器模板名称。

13.5.2. Google Cloud Platform 的集群 API 配置选项

重要

使用集群 API 管理机器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

您可以通过更新 Cluster API 自定义资源清单中的值来更改 Google Cloud Platform (GCP) Cluster API 机器的配置。

以下示例 YAML 文件显示了 Google Cloud Platform 集群的配置。

基础架构资源是特定于提供程序的,定义由集群中所有计算机器集(如地区和子网)共享的属性。计算机器集在创建机器时引用此资源。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPCluster 
1

metadata:
  name: <cluster_name> 
2

spec:
  controlPlaneEndpoint: 
3

    host: <control_plane_endpoint_address>
    port: 6443
  network:
    name: <cluster_name>-network
  project: <project> 
4

  region: <region> 
5
Copy to Clipboard Toggle word wrap
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的 IP 地址以及用于访问它的端口。
4
指定 GCP 项目名称。
5
指定 GCP 区域。

机器模板资源是特定于提供程序的,定义计算机器创建的机器的基本属性。计算机器设置在创建机器时引用此模板。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: GCPMachineTemplate 
1

metadata:
  name: <template_name> 
2

  namespace: openshift-cluster-api
spec:
  template:
    spec: 
3

      rootDeviceType: pd-ssd
      rootDeviceSize: 128
      instanceType: n1-standard-4
      image: projects/rhcos-cloud/global/images/rhcos-411-85-202203181601-0-gcp-x86-64
      subnet: <cluster_name>-worker-subnet
      serviceAccounts:
        email: <service_account_email_address>
        scopes:
          - https://www.googleapis.com/auth/cloud-platform
      additionalLabels:
        kubernetes-io-cluster-<cluster_name>: owned
      additionalNetworkTags:
        - <cluster_name>-worker
      ipForwarding: Disabled
Copy to Clipboard Toggle word wrap
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。

计算机器设置资源定义它所创建的机器的额外属性。计算机器集也会在创建机器时引用基础架构资源和机器模板。

apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
  name: <machine_set_name> 
1

  namespace: openshift-cluster-api
spec:
  clusterName: <cluster_name> 
2

  replicas: 1
  selector:
    matchLabels:
      test: example
  template:
    metadata:
      labels:
        test: example
    spec:
      bootstrap:
         dataSecretName: worker-user-data 
3

      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: GCPMachineTemplate 
4

        name: <template_name> 
5

      failureDomain: <failure_domain> 
6
Copy to Clipboard Toggle word wrap
1
为计算机器设置指定一个名称。
2
指定集群 ID 作为集群的名称。
3
对于 Cluster API 技术预览,Operator 可以使用 openshift-machine-api 命名空间中的 worker 用户数据 secret。
4
指定机器模板类型。这个值必须与您的平台的值匹配。
5
指定机器模板名称。
6
指定 GCP 区域中的故障域。
重要

使用集群 API 管理机器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

您可以通过更新 Cluster API 自定义资源清单中的值来更改 Red Hat OpenStack Platform (RHOSP) Cluster API 机器的配置。

13.5.3.1. 用于配置 RHOSP 集群的 YAML 示例

以下示例 YAML 文件显示 RHOSP 集群的配置。

基础架构集群资源是特定于提供程序的,定义由集群中所有计算机器集(如地区和子网)共享的属性。计算机器集在创建机器时引用此资源。

重要

只有以下示例中的参数才会验证是否与 OpenShift Container Platform 兼容。其他参数(如上游 Cluster API Provider OpenStack 书中记录的)可能会导致不必要的行为。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: OpenStackCluster 
1

metadata:
  name: <cluster_name> 
2

  namespace: openshift-cluster-api
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name>
spec:
  controlPlaneEndpoint: <control_plane_endpoint_address> 
3

  disableAPIServerFloatingIP: true
  tags:
    - openshiftClusterID=<cluster_name>
  network:
    id: <api_service_network_id> 
4

  externalNetwork:
    id: <floating_network_id> 
5

  identityRef:
    cloudName: openstack
    name: openstack-cloud-credentials
Copy to Clipboard Toggle word wrap
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的 IP 地址以及用于访问它的端口。
4
指定用于指定端口的机器的默认网络的 UUID。
注意

以后的发行版本中可能会删除这个功能。要防止删除这个功能的问题,请在机器规格中至少指定一个端口,而不是只依赖此功能。

5
指定外部网络的 UUID。您可以指定用于分配外部浮动 IP 地址或用于此字段的网络的网络。
注意

基础架构集群资源需要此字段,但目前不使用这个值。计划在以后的版本中删除此要求。

机器模板资源是特定于提供程序的,定义计算机器创建的机器的基本属性。计算机器设置在创建机器时引用此模板。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: OpenStackMachineTemplate 
1

metadata:
  name: <template_name> 
2

  namespace: openshift-cluster-api
spec:
  template:
    spec: 
3

      flavor: <openstack_node_machine_flavor> 
4

      image:
        filter:
          name: <openstack_image> 
5
Copy to Clipboard Toggle word wrap
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。
4
指定要使用的 RHOSP 类别。如需更多信息,请参阅为启动实例创建类别
5
指定要使用的镜像。

计算机器设置资源定义它所创建的机器的额外属性。计算机器集也会在创建机器时引用基础架构资源和机器模板。

apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
  name: <machine_set_name> 
1

  namespace: openshift-cluster-api
spec:
  clusterName: <cluster_name> 
2

  replicas: 1
  selector:
    matchLabels:
      test: example
      cluster.x-k8s.io/cluster-name: <cluster_name>
      cluster.x-k8s.io/set-name: <machine_set_name>
  template:
    metadata:
      labels:
        test: example
        cluster.x-k8s.io/cluster-name: <cluster_name>
        cluster.x-k8s.io/set-name: <machine_set_name>
        node-role.kubernetes.io/<role>: ""
    spec:
      bootstrap:
         dataSecretName: worker-user-data 
3

      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: OpenStackMachineTemplate 
4

        name: <template_name> 
5

      failureDomain: <nova_availability_zone> 
6
Copy to Clipboard Toggle word wrap
1
为计算机器设置指定一个名称。
2
指定集群 ID 作为集群的名称。
3
对于 Cluster API 技术预览,Operator 可以使用 openshift-machine-api 命名空间中的 worker 用户数据 secret。
4
指定机器模板类型。这个值必须与您的平台的值匹配。
5
指定机器模板名称。
6
可选:指定要在其中创建机器的机器集的 Nova 可用性区域的名称。如果没有指定值,机器不会限制到特定的可用区。

13.5.4. VMware vSphere 的集群 API 配置选项

重要

使用集群 API 管理机器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

您可以通过更新 Cluster API 自定义资源清单中的值来更改 VMware vSphere Cluster API 机器的配置。

13.5.4.1. 用于配置 VMware vSphere 集群的 YAML 示例

以下示例 YAML 文件显示 VMware vSphere 集群的配置。

基础架构资源是特定于提供程序的,定义由集群中所有计算机器集(如地区和子网)共享的属性。计算机器集在创建机器时引用此资源。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereCluster 
1

metadata:
  name: <cluster_name> 
2

spec:
  controlPlaneEndpoint: 
3

    host: <control_plane_endpoint_address>
    port: 6443
  identityRef:
    kind: Secret
    name: <cluster_name>
  server: <vsphere_server> 
4
Copy to Clipboard Toggle word wrap
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的 IP 地址以及用于访问它的端口。
4
指定集群的 vSphere 服务器。您可以运行以下命令来在现有 vSphere 集群上找到这个值:
$ oc get infrastructure cluster \
  -o jsonpath="{.spec.platformSpec.vsphere.vcenters[0].server}"
Copy to Clipboard Toggle word wrap

机器模板资源是特定于提供程序的,定义计算机器创建的机器的基本属性。计算机器设置在创建机器时引用此模板。

apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: VSphereMachineTemplate 
1

metadata:
  name: <template_name> 
2

  namespace: openshift-cluster-api
spec:
  template:
    spec: 
3

      template: <vm_template_name> 
4

      server: <vcenter_server_ip> 
5

      diskGiB: 128
      cloneMode: linkedClone 
6

      datacenter: <vcenter_data_center_name> 
7

      datastore: <vcenter_datastore_name> 
8

      folder: <vcenter_vm_folder_path> 
9

      resourcePool: <vsphere_resource_pool> 
10

      numCPUs: 4
      memoryMiB: 16384
      network:
        devices:
        - dhcp4: true
          networkName: "<vm_network_name>" 
11
Copy to Clipboard Toggle word wrap
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。
4
指定要使用的 vSphere 虚拟机模板,如 user-5ddjd-rhcos
5
指定 vCenter 服务器 IP 或完全限定域名。
6
指定要使用的虚拟机克隆类型。以下值有效:
  • fullClone
  • linkedClone

使用 linkedClone 类型时,磁盘大小与克隆源匹配,而不使用 diskGiB 值。如需更多信息,请参阅有关虚拟机克隆类型的 vSphere 文档。

7
指定要部署计算机器集的 vCenter 数据中心。
8
指定要部署计算机器集的 vCenter 数据存储。
9
指定 vCenter 中 vSphere 虚拟机文件夹的路径,如 /dc1/vm/user-inst-5ddjd
10
指定虚拟机的 vSphere 资源池。
11
指定要将计算机器设置为的 vSphere VM 网络。此虚拟机网络必须是集群中其他计算机器所处的位置。

计算机器设置资源定义它所创建的机器的额外属性。计算机器集也会在创建机器时引用基础架构资源和机器模板。

apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
  name: <machine_set_name> 
1

  namespace: openshift-cluster-api
spec:
  clusterName: <cluster_name> 
2

  replicas: 1
  selector:
    matchLabels:
      test: example
  template:
    metadata:
      labels:
        test: example
    spec:
      bootstrap:
         dataSecretName: worker-user-data 
3

      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: VSphereMachineTemplate 
4

        name: <template_name> 
5

      failureDomain: 
6

        - name: <failure_domain_name>
          region: <region_a>
          zone: <zone_a>
          server: <vcenter_server_name>
          topology:
            datacenter: <region_a_data_center>
            computeCluster: "</region_a_data_center/host/zone_a_cluster>"
            resourcePool: "</region_a_data_center/host/zone_a_cluster/Resources/resource_pool>"
            datastore: "</region_a_data_center/datastore/datastore_a>"
            networks:
            - port-group
Copy to Clipboard Toggle word wrap
1
为计算机器设置指定一个名称。
2
指定集群 ID 作为集群的名称。
3
对于 Cluster API 技术预览,Operator 可以使用 openshift-machine-api 命名空间中的 worker 用户数据 secret。
4
指定机器模板类型。这个值必须与您的平台的值匹配。
5
指定机器模板名称。
6
指定故障域配置详情。
注意

在使用 Cluster API 的 vSphere 集群上使用多个区域(region)和区(zone)是没有经过验证的配置。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat