13.5. Cluster API 机器的配置选项


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

重要

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

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

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

13.5.1.1. 用于配置 Amazon Web Services 集群的 YAML 示例

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

13.5.1.1.1. Amazon Web Services 上 Cluster API 基础架构资源的 YAML 示例

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

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
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的地址以及用于访问它的端口。
4
指定 AWS 区域。
13.5.1.1.2. Amazon Web Services 上 Cluster API 机器模板资源的 YAML 示例

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

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:
          - # ...
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。
13.5.1.1.3. Amazon Web Services 上 Cluster API 机器集资源的 YAML 示例

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

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
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 机器的配置。

13.5.2.1. 用于配置 Google Cloud Platform 集群的 YAML 示例

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

13.5.2.1.1. Google Cloud Platform 上 Cluster API 基础架构资源的 YAML 示例

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

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
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的 IP 地址以及用于访问它的端口。
4
指定 GCP 项目名称。
5
指定 GCP 区域。
13.5.2.1.2. Google Cloud Platform 上的 Cluster API 机器模板资源的 YAML 示例

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

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
1
指定机器模板类型。这个值必须与您的平台的值匹配。
2
为机器模板指定名称。
3
指定您的环境的详情。这里的值为示例。
13.5.2.1.3. Google Cloud Platform 上 Cluster API 机器集资源的 YAML 示例

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

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

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

重要

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

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

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

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

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

13.5.3.1.1. VMware vSphere 上 Cluster API 基础架构资源的 YAML 示例

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

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
1
指定集群的基础架构类型。这个值必须与您的平台的值匹配。
2
指定集群 ID 作为集群的名称。
3
指定 control plane 端点的 IP 地址以及用于访问它的端口。
4
指定集群的 vSphere 服务器。您可以运行以下命令来在现有 vSphere 集群上找到这个值:
$ oc get infrastructure cluster \
  -o jsonpath="{.spec.platformSpec.vsphere.vcenters[0].server}"
13.5.3.1.2. VMware vSphere 上 Cluster API 机器模板资源的 YAML 示例

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

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
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 网络。此虚拟机网络必须是集群中其他计算机器所处的位置。
13.5.3.1.3. VMware vSphere 上 Cluster API 机器集资源的 YAML 示例

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

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
1
为计算机器设置指定一个名称。
2
指定集群 ID 作为集群的名称。
3
对于 Cluster API 技术预览,Operator 可以使用 openshift-machine-api 命名空间中的 worker 用户数据 secret。
4
指定机器模板类型。这个值必须与您的平台的值匹配。
5
指定机器模板名称。
6
指定故障域配置详情。
注意

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.