12.3. 컨트롤 플레인 머신 세트 구성


이 예제 YAML 스니펫에서는 컨트롤 플레인 머신 세트 CR(사용자 정의 리소스)의 기본 구조와 공급자 사양 및 실패 도메인 구성에 대한 플랫폼별 샘플을 보여줍니다.

12.3.1. 컨트롤 플레인 머신 세트 사용자 정의 리소스의 샘플 YAML

ControlPlaneMachineSet CR의 기반은 모든 플랫폼에 대해 동일한 방식으로 구성됩니다.

ControlPlaneMachineSet CR YAML 파일 샘플

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

1
clusterControlPlaneMachineSet CR의 이름을 지정합니다. 이 값은 변경하지 마십시오.
2
컨트롤 플레인 시스템의 수를 지정합니다. 컨트롤 플레인 시스템이 3개인 클러스터만 지원되므로 replicas 값은 3 입니다. 수평 스케일링은 지원되지 않습니다. 이 값은 변경하지 마십시오.
3
클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID를 지정합니다. ControlPlaneMachineSet CR을 생성할 때 이 값을 지정해야 합니다. OpenShift CLI (oc) 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
4
Operator 상태를 지정합니다. 상태가 Inactive 이면 Operator가 작동하지 않습니다. 값을 Active 로 설정하여 Operator를 활성화할 수 있습니다.
중요

Operator를 활성화하기 전에 클러스터 요구 사항에 대해 ControlPlaneMachineSet CR 구성이 올바른지 확인해야 합니다. 컨트롤 플레인 머신 세트 Operator 활성화에 대한 자세한 내용은 "컨트롤 플레인 머신 세트 시작하기"를 참조하십시오.

5
클러스터의 업데이트 전략을 지정합니다. 허용되는 값은 OnDeleteRollingUpdate 입니다. 기본값은 RollingUpdate 입니다. 업데이트 전략에 대한 자세한 내용은 "컨트롤 플레인 구성 업그레이드"를 참조하십시오.
6
클라우드 공급자 플랫폼 이름을 지정합니다. 이 값은 변경하지 마십시오.
7
클러스터의 <platform_failure_domains> 구성을 지정합니다. 이 섹션의 형식과 값은 공급자에 따라 다릅니다. 자세한 내용은 클라우드 공급자에 대한 샘플 실패 도메인 구성을 참조하십시오.
참고

VMware vSphere는 장애 도메인을 지원하지 않습니다.

8
클러스터의 <platform_provider_spec> 구성을 지정합니다. 이 섹션의 형식과 값은 공급자에 따라 다릅니다. 자세한 내용은 클라우드 공급자의 샘플 공급자 사양을 참조하십시오.
공급자별 구성

컨트롤 플레인 머신 세트 리소스의 <platform_provider_spec><platform_failure_domains> 섹션은 공급자별로 다릅니다. 클러스터의 예제 YAML을 참조하십시오.

12.3.2. Amazon Web Services 클러스터 구성을 위한 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 AWS(Amazon Web Services) 클러스터의 공급자 사양 및 실패 도메인 구성을 보여줍니다.

12.3.2.1. 샘플 AWS 공급자 사양

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 머신 CR(사용자 정의 리소스)의 providerSpec 구성과 일치해야 합니다. CR의 실패 도메인 섹션에 설정된 필드를 생략할 수 있습니다.

다음 예에서 < cluster_id >는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID입니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

샘플 AWS providerSpec

providerSpec:
  value:
    ami:
      id: ami-<ami_id_string> 1
    apiVersion: machine.openshift.io/v1beta1
    blockDevices:
    - ebs: 2
        encrypted: true
        iops: 0
        kmsKey:
          arn: ""
        volumeSize: 120
        volumeType: gp3
    credentialsSecret:
      name: aws-cloud-credentials 3
    deviceIndex: 0
    iamInstanceProfile:
      id: <cluster_id>-master-profile 4
    instanceType: m6i.xlarge 5
    kind: AWSMachineProviderConfig 6
    loadBalancers: 7
    - name: <cluster_id>-int
      type: network
    - name: <cluster_id>-ext
      type: network
    metadata:
      creationTimestamp: null
    metadataServiceOptions: {}
    placement: 8
      region: <region> 9
    securityGroups:
    - filters:
      - name: tag:Name
        values:
        - <cluster_id>-master-sg 10
    subnet: {} 11
    userDataSecret:
      name: master-user-data 12

1
클러스터의 RHCOS(Red Hat Enterprise Linux CoreOS) AMI(Amazon Machine Images) ID를 지정합니다. AMI는 클러스터와 동일한 리전에 속해 있어야 합니다. AWS Marketplace 이미지를 사용하려면 해당 리전의 AMI ID를 받으려면 AWS Marketplace 에서 OpenShift Container Platform 서브스크립션을 완료해야 합니다.
2
암호화된 EBS 볼륨의 구성을 지정합니다.
3
클러스터의 시크릿 이름을 지정합니다. 이 값은 변경하지 마십시오.
4
AWS IAM(Identity and Access Management) 인스턴스 프로필을 지정합니다. 이 값은 변경하지 마십시오.
5
컨트롤 플레인의 AWS 인스턴스 유형을 지정합니다.
6
클라우드 공급자 플랫폼 유형을 지정합니다. 이 값은 변경하지 마십시오.
7
클러스터의 내부(int) 및 외부(ext) 로드 밸런서를 지정합니다.
참고

프라이빗 OpenShift Container Platform 클러스터에서 외부(ext) 로드 밸런서 매개변수를 생략할 수 있습니다.

8
이 매개변수는 실패 도메인에 구성되며 여기에 빈 값이 표시됩니다. 이 매개변수에 지정된 값이 실패 도메인의 값과 다른 경우 Operator는 실패 도메인의 값으로 덮어씁니다.
9
클러스터의 AWS 리전을 지정합니다.
10
컨트롤 플레인 시스템 보안 그룹을 지정합니다.
11
이 매개변수는 실패 도메인에 구성되며 여기에 빈 값이 표시됩니다. 이 매개변수에 지정된 값이 실패 도메인의 값과 다른 경우 Operator는 실패 도메인의 값으로 덮어씁니다.
12
컨트롤 플레인 사용자 데이터 시크릿을 지정합니다. 이 값은 변경하지 마십시오.

12.3.2.2. 샘플 AWS 실패 도메인 구성

실패 도메인의 컨트롤 플레인 머신 세트 개념은 가용성 영역(AZ) 의 기존 AWS 개념과 유사합니다. ControlPlaneMachineSet CR은 가능한 경우 컨트롤 플레인 시스템을 여러 개의 장애 도메인에 분배합니다.

컨트롤 플레인 머신 세트에서 AWS 실패 도메인을 구성할 때 사용할 가용성 영역 이름과 서브넷을 지정해야 합니다.

샘플 AWS 실패 도메인 값

failureDomains:
  aws:
  - placement:
      availabilityZone: <aws_zone_a> 1
    subnet: 2
      filters:
      - name: tag:Name
        values:
        - <cluster_id>-private-<aws_zone_a> 3
      type: Filters 4
  - placement:
      availabilityZone: <aws_zone_b> 5
    subnet:
      filters:
      - name: tag:Name
        values:
        - <cluster_id>-private-<aws_zone_b> 6
      type: Filters
  platform: AWS 7

1
첫 번째 실패 도메인의 AWS 가용성 영역을 지정합니다.
2
서브넷 구성을 지정합니다. 이 예에서 subnet 유형은 Filters 이므로 filters 스탠자가 있습니다.
3
인프라 ID 및 AWS 가용성 영역을 사용하여 첫 번째 실패 도메인의 서브넷 이름을 지정합니다.
4
서브넷 유형을 지정합니다. 허용되는 값은 ARN,FiltersID 입니다. 기본값은 Filters 입니다.
5
인프라 ID 및 AWS 가용성 영역을 사용하여 추가 실패 도메인의 서브넷 이름을 지정합니다.
6
추가 장애 도메인의 클러스터 인프라 ID 및 AWS 가용성 영역을 지정합니다.
7
클라우드 공급자 플랫폼 이름을 지정합니다. 이 값은 변경하지 마십시오.

12.3.3. Google Cloud Platform 클러스터를 구성하는 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 GCP(Google Cloud Platform) 클러스터의 공급자 사양 및 실패 도메인 구성을 보여줍니다.

12.3.3.1. 샘플 GCP 공급자 사양

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 머신 CR(사용자 정의 리소스)의 providerSpec 구성과 일치해야 합니다. CR의 실패 도메인 섹션에 설정된 필드를 생략할 수 있습니다.

OpenShift CLI를 사용하여 얻은 값

다음 예제에서는 OpenShift CLI를 사용하여 클러스터의 일부 값을 가져올 수 있습니다.

인프라 ID

<cluster_id> 문자열은 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID입니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
이미지 경로

<path_to_image> 문자열은 디스크를 생성하는 데 사용된 이미지의 경로입니다. OpenShift CLI가 설치되어 있으면 다음 명령을 실행하여 이미지에 대한 경로를 얻을 수 있습니다.

$ oc -n openshift-machine-api \
  -o jsonpath='{.spec.template.machines_v1beta1_machine_openshift_io.spec.providerSpec.value.disks[0].image}{"\n"}' \
  get ControlPlaneMachineSet/cluster

샘플 GCP providerSpec

apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
  name: cluster
  namespace: openshift-machine-api
spec:
# ...
  template:
# ...
      spec:
        providerSpec:
          value:
            apiVersion: machine.openshift.io/v1beta1
            canIPForward: false
            credentialsSecret:
              name: gcp-cloud-credentials 1
            deletionProtection: false
            disks:
            - autoDelete: true
              boot: true
              image: <path_to_image> 2
              labels: null
              sizeGb: 200
              type: pd-ssd
            kind: GCPMachineProviderSpec 3
            machineType: e2-standard-4
            metadata:
              creationTimestamp: null
            metadataServiceOptions: {}
            networkInterfaces:
            - network: <cluster_id>-network
              subnetwork: <cluster_id>-master-subnet
            projectID: <project_name> 4
            region: <region> 5
            serviceAccounts: 6
            - email: <cluster_id>-m@<project_name>.iam.gserviceaccount.com
              scopes:
              - https://www.googleapis.com/auth/cloud-platform
            shieldedInstanceConfig: {}
            tags:
            - <cluster_id>-master
            targetPools:
            - <cluster_id>-api
            userDataSecret:
              name: master-user-data 7
            zone: "" 8

1
클러스터의 시크릿 이름을 지정합니다. 이 값은 변경하지 마십시오.
2
디스크를 만드는 데 사용된 이미지의 경로를 지정합니다.

GCP Marketplace 이미지를 사용하려면 사용할 제안을 지정합니다.

  • OpenShift Container Platform: https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-ocp-413-x86-64-202305021736
  • OpenShift Platform Plus: https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-opp-413-x86-64-202305021736
  • OpenShift Kubernetes Engine: https://www.googleapis.com/compute/v1/projects/redhat-marketplace-public/global/images/redhat-coreos-oke-413-x86-64-202305021736
3
클라우드 공급자 플랫폼 유형을 지정합니다. 이 값은 변경하지 마십시오.
4
클러스터에 사용하는 GCP 프로젝트의 이름을 지정합니다.
5
클러스터의 GCP 리전을 지정합니다.
6
단일 서비스 계정을 지정합니다. 여러 서비스 계정이 지원되지 않습니다.
7
컨트롤 플레인 사용자 데이터 시크릿을 지정합니다. 이 값은 변경하지 마십시오.
8
이 매개변수는 실패 도메인에 구성되며 여기에 빈 값이 표시됩니다. 이 매개변수에 지정된 값이 실패 도메인의 값과 다른 경우 Operator는 실패 도메인의 값으로 덮어씁니다.

12.3.3.2. 샘플 GCP 장애 도메인 구성

실패 도메인의 컨트롤 플레인 머신 세트 개념은 영역 의 기존 GCP 개념과 유사합니다. ControlPlaneMachineSet CR은 가능한 경우 컨트롤 플레인 시스템을 여러 개의 장애 도메인에 분배합니다.

컨트롤 플레인 머신 세트에서 GCP 장애 도메인을 구성할 때 사용할 영역 이름을 지정해야 합니다.

GCP 실패 도메인 값 샘플

failureDomains:
  gcp:
  - zone: <gcp_zone_a> 1
  - zone: <gcp_zone_b> 2
  - zone: <gcp_zone_c>
  - zone: <gcp_zone_d>
  platform: GCP 3

1
첫 번째 실패 도메인의 GCP 영역을 지정합니다.
2
추가 실패 도메인을 지정합니다. 추가 실패 도메인도 동일한 방식으로 추가됩니다.
3
클라우드 공급자 플랫폼 이름을 지정합니다. 이 값은 변경하지 마십시오.

12.3.4. Microsoft Azure 클러스터 구성을 위한 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 Azure 클러스터의 공급자 사양 및 실패 도메인 구성을 보여줍니다.

12.3.4.1. Azure 공급자 사양 샘플

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 Machine CR의 providerSpec 구성과 일치해야 합니다. CR의 실패 도메인 섹션에 설정된 필드를 생략할 수 있습니다.

다음 예에서 < cluster_id >는 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID입니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

Azure providerSpec 값 샘플

providerSpec:
  value:
    acceleratedNetworking: true
    apiVersion: machine.openshift.io/v1beta1
    credentialsSecret:
      name: azure-cloud-credentials 1
      namespace: openshift-machine-api
    diagnostics: {}
    image: 2
      offer: ""
      publisher: ""
      resourceID: /resourceGroups/<cluster_id>-rg/providers/Microsoft.Compute/galleries/gallery_<cluster_id>/images/<cluster_id>-gen2/versions/412.86.20220930 3
      sku: ""
      version: ""
    internalLoadBalancer: <cluster_id>-internal 4
    kind: AzureMachineProviderSpec 5
    location: <region> 6
    managedIdentity: <cluster_id>-identity
    metadata:
      creationTimestamp: null
      name: <cluster_id>
    networkResourceGroup: <cluster_id>-rg
    osDisk: 7
      diskSettings: {}
      diskSizeGB: 1024
      managedDisk:
        storageAccountType: Premium_LRS
      osType: Linux
    publicIP: false
    publicLoadBalancer: <cluster_id> 8
    resourceGroup: <cluster_id>-rg
    subnet: <cluster_id>-master-subnet 9
    userDataSecret:
      name: master-user-data 10
    vmSize: Standard_D8s_v3
    vnet: <cluster_id>-vnet
    zone: "" 11

1
클러스터의 시크릿 이름을 지정합니다. 이 값은 변경하지 마십시오.
2
컨트롤 플레인 머신 세트의 이미지 세부 정보를 지정합니다.
3
인스턴스 유형과 호환되는 이미지를 지정합니다. 설치 프로그램에서 생성한 Hyper-V generation V2 이미지에는 -gen2 접미사가 있지만 V1 이미지의 접미사 없이 이름이 동일합니다.
4
컨트롤 플레인의 내부 로드 밸런서를 지정합니다. 이 필드는 사전 구성되지 않을 수 있지만 ControlPlaneMachineSet 및 컨트롤 플레인 Machine CR 모두에 필요합니다.
5
클라우드 공급자 플랫폼 유형을 지정합니다. 이 값은 변경하지 마십시오.
6
컨트롤 플레인 시스템을 배치할 리전을 지정합니다.
7
컨트롤 플레인의 디스크 구성을 지정합니다.
8
컨트롤 플레인의 공용 로드 밸런서를 지정합니다.
참고

사용자 정의 아웃 바운드 라우팅이 있는 프라이빗 OpenShift Container Platform 클러스터에서 publicLoadBalancer 매개변수를 생략할 수 있습니다.

9
컨트롤 플레인의 서브넷을 지정합니다.
10
컨트롤 플레인 사용자 데이터 시크릿을 지정합니다. 이 값은 변경하지 마십시오.
11
이 매개변수는 실패 도메인에 구성되며 여기에 빈 값이 표시됩니다. 이 매개변수에 지정된 값이 실패 도메인의 값과 다른 경우 Operator는 실패 도메인의 값으로 덮어씁니다.

12.3.4.2. 샘플 Azure 실패 도메인 구성

실패 도메인의 컨트롤 플레인 머신 세트 개념은 Azure 가용성 영역의 기존 Azure 개념과 유사합니다. ControlPlaneMachineSet CR은 가능한 경우 컨트롤 플레인 시스템을 여러 개의 장애 도메인에 분배합니다.

컨트롤 플레인 머신 세트에서 Azure 장애 도메인을 구성할 때 가용성 영역 이름을 지정해야 합니다.

Azure 실패 도메인 값 샘플

failureDomains:
  azure: 1
  - zone: "1"
  - zone: "2"
  - zone: "3"
  platform: Azure 2

1
영역 의 각 인스턴스는 장애 도메인의 Azure 가용성 영역을 지정합니다.
2
클라우드 공급자 플랫폼 이름을 지정합니다. 이 값은 변경하지 마십시오.

12.3.5. Nutanix 클러스터 구성을 위한 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 Nutanix 클러스터의 공급자 사양 구성을 보여줍니다.

12.3.5.1. 샘플 Nutanix 공급자 사양

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 머신 CR(사용자 정의 리소스)의 providerSpec 구성과 일치해야 합니다.

OpenShift CLI를 사용하여 얻은 값

다음 예제에서는 OpenShift CLI를 사용하여 클러스터의 일부 값을 가져올 수 있습니다.

인프라 ID

<cluster_id> 문자열은 클러스터를 프로비저닝할 때 설정한 클러스터 ID를 기반으로 하는 인프라 ID입니다. OpenShift CLI 패키지가 설치되어 있으면 다음 명령을 실행하여 인프라 ID를 얻을 수 있습니다.

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

샘플 Nutanix providerSpec

providerSpec:
  value:
    apiVersion: machine.openshift.io/v1
    bootType: "" 1
    categories: 2
    - key: <category_name>
      value: <category_value>
    cluster: 3
      type: uuid
      uuid: <cluster_uuid>
    credentialsSecret:
      name: nutanix-credentials 4
    image: 5
      name: <cluster_id>-rhcos
      type: name
    kind: NutanixMachineProviderConfig 6
    memorySize: 16Gi 7
    metadata:
      creationTimestamp: null
    project: 8
      type: name
      name: <project_name>
    subnets: 9
    - type: uuid
      uuid: <subnet_uuid>
    systemDiskSize: 120Gi 10
    userDataSecret:
      name: master-user-data 11
    vcpuSockets: 8 12
    vcpusPerSocket: 1 13

1
컨트롤 플레인 시스템이 사용하는 부팅 유형을 지정합니다. 부팅 유형에 대한 자세한 내용은 가상화 된 환경에서 UEFI, Secure Boot 및 TPM 이해를 참조하십시오. 유효한 값은 Legacy,SecureBoot 또는 UEFI 입니다. 기본값은 Legacy 입니다.
참고

OpenShift Container Platform 4.14에서 Legacy 부팅 유형을 사용해야 합니다.

2
컨트롤 플레인 시스템에 적용할 하나 이상의 Nutanix Prism 카테고리를 지정합니다. 이 스탠자에는 Prism Central에 존재하는 카테고리 키-값 쌍에 대한 keyvalue 매개변수가 필요합니다. 카테고리에 대한 자세한 내용은 카테고리 관리를 참조하십시오.
3
Nutanix Prism Element 클러스터 구성을 지정합니다. 이 예에서 클러스터 유형은 uuid 이므로 uuid 스탠자가 있습니다.
4
클러스터의 시크릿 이름을 지정합니다. 이 값은 변경하지 마십시오.
5
디스크를 만드는 데 사용된 이미지를 지정합니다.
6
클라우드 공급자 플랫폼 유형을 지정합니다. 이 값은 변경하지 마십시오.
7
컨트롤 플레인 시스템에 할당된 메모리를 지정합니다.
8
클러스터에 사용하는 Nutanix 프로젝트를 지정합니다. 이 예에서 프로젝트 유형은 name 이므로 name 스탠자가 있습니다.
9
서브넷 구성을 지정합니다. 이 예에서 서브넷 유형은 uuid 이므로 uuid 스탠자가 있습니다.
10
컨트롤 플레인 시스템의 VM 디스크 크기를 지정합니다.
11
컨트롤 플레인 사용자 데이터 시크릿을 지정합니다. 이 값은 변경하지 마십시오.
12
컨트롤 플레인 시스템에 할당된 vCPU 소켓 수를 지정합니다.
13
각 컨트롤 플레인 vCPU 소켓의 vCPU 수를 지정합니다.

12.3.6. VMware vSphere 클러스터 구성을 위한 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 VMware vSphere 클러스터의 공급자 사양 구성을 보여줍니다.

12.3.6.1. vSphere 공급자 사양 샘플

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 머신 CR(사용자 정의 리소스)의 providerSpec 구성과 일치해야 합니다.

vSphere providerSpec 값 샘플

providerSpec:
  value:
    apiVersion: machine.openshift.io/v1beta1
    credentialsSecret:
      name: vsphere-cloud-credentials 1
    diskGiB: 120 2
    kind: VSphereMachineProviderSpec 3
    memoryMiB: 16384 4
    metadata:
      creationTimestamp: null
    network: 5
      devices:
      - networkName: <vm_network_name>
    numCPUs: 4 6
    numCoresPerSocket: 4 7
    snapshot: ""
    template: <vm_template_name> 8
    userDataSecret:
      name: master-user-data 9
    workspace:
      datacenter: <vcenter_datacenter_name> 10
      datastore: <vcenter_datastore_name> 11
      folder: <path_to_vcenter_vm_folder> 12
      resourcePool: <vsphere_resource_pool> 13
      server: <vcenter_server_ip> 14

1
클러스터의 시크릿 이름을 지정합니다. 이 값은 변경하지 마십시오.
2
컨트롤 플레인 시스템의 VM 디스크 크기를 지정합니다.
3
클라우드 공급자 플랫폼 유형을 지정합니다. 이 값은 변경하지 마십시오.
4
컨트롤 플레인 시스템에 할당된 메모리를 지정합니다.
5
컨트롤 플레인이 배포되는 네트워크를 지정합니다.
6
컨트롤 플레인 시스템에 할당된 CPU 수를 지정합니다.
7
각 컨트롤 플레인 CPU의 코어 수를 지정합니다.
8
사용할 vSphere VM 템플릿을 지정합니다(예: user-5ddjd-rhcos ).
9
컨트롤 플레인 사용자 데이터 시크릿을 지정합니다. 이 값은 변경하지 마십시오.
10
컨트롤 플레인의 vCenter Datacenter를 지정합니다.
11
컨트롤 플레인의 vCenter Datastore를 지정합니다.
12
vCenter의 vSphere VM 폴더 경로(예: /dc1/vm/user-inst-5ddjd )를 지정합니다.
13
VM의 vSphere 리소스 풀을 지정합니다.
14
vCenter 서버 IP 또는 정규화된 도메인 이름을 지정합니다.

12.3.7. RHOSP(Red Hat OpenStack Platform) 클러스터 구성을 위한 샘플 YAML

컨트롤 플레인 머신 세트 CR의 일부 섹션은 공급자에 따라 다릅니다. 다음 예제 YAML 스니펫에서는 RHOSP 클러스터의 공급자 사양 및 실패 도메인 구성을 보여줍니다.

12.3.7.1. RHOSP 공급자 사양 샘플

기존 클러스터에 대한 컨트롤 플레인 머신 세트를 생성할 때 공급자 사양은 설치 프로그램에서 생성한 컨트롤 플레인 머신 CR(사용자 정의 리소스)의 providerSpec 구성과 일치해야 합니다.

OpenStack providerSpec 값 샘플

providerSpec:
  value:
    apiVersion: machine.openshift.io/v1alpha1
    cloudName: openstack
    cloudsSecret:
      name: openstack-cloud-credentials 1
      namespace: openshift-machine-api
    flavor: m1.xlarge 2
    image: ocp1-2g2xs-rhcos
    kind: OpenstackProviderSpec 3
    metadata:
      creationTimestamp: null
    networks:
    - filter: {}
      subnets:
      - filter:
          name: ocp1-2g2xs-nodes
          tags: openshiftClusterID=ocp1-2g2xs
    securityGroups:
    - filter: {}
      name: ocp1-2g2xs-master 4
    serverGroupName: ocp1-2g2xs-master
    serverMetadata:
      Name: ocp1-2g2xs-master
      openshiftClusterID: ocp1-2g2xs
    tags:
    - openshiftClusterID=ocp1-2g2xs
    trunk: true
    userDataSecret:
      name: master-user-data

1
클러스터의 시크릿 이름입니다. 이 값은 변경하지 마십시오.
2
컨트롤 플레인의 RHOSP 플레이버 유형입니다.
3
RHOSP 클라우드 공급자 플랫폼 유형입니다. 이 값은 변경하지 마십시오.
4
컨트롤 플레인 시스템 보안 그룹입니다.

12.3.7.2. RHOSP 장애 도메인 구성 샘플

실패 도메인의 컨트롤 플레인 머신 세트 개념은 가용성 영역 의 기존 RHOSP(Red Hat OpenStack Platform) 개념과 유사합니다. ControlPlaneMachineSet CR은 가능한 경우 컨트롤 플레인 시스템을 여러 개의 장애 도메인에 분배합니다.

다음 예제에서는 여러 Nova 가용성 영역과 Cinder 가용성 영역을 사용하는 방법을 보여줍니다.

OpenStack 실패 도메인 값 샘플

failureDomains:
  platform: OpenStack
  openstack:
  - availabilityZone: nova-az0
    rootVolume:
      availabilityZone: cinder-az0
  - availabilityZone: nova-az1
    rootVolume:
      availabilityZone: cinder-az1
  - availabilityZone: nova-az2
    rootVolume:
      availabilityZone: cinder-az2

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.