11.4. 클러스터 API 시스템에 대한 구성 옵션


11.4.1. Amazon Web Services의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 AWS(Amazon Web Services) 클러스터 API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

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

다음 예제 YAML 파일은 Amazon Web Services 클러스터에 대한 구성을 보여줍니다.

머신 템플릿 리소스는 공급자마다 다르며 컴퓨팅 머신 세트에서 생성하는 시스템의 기본 속성을 정의합니다. 머신을 생성할 때 컴퓨팅 머신 세트는 이 템플릿을 참조합니다.

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

metadata:
  name: <template_name> 
2

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

      iamInstanceProfile: # ...
      instanceType: m5.large
      ignition:
        storageType: UnencryptedUserData
        version: "3.4"
      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
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name> 
2

spec:
  clusterName: <cluster_name> 
3

  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
      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
컴퓨팅 머신 세트의 이름을 지정합니다. 클러스터 ID, 머신 역할 및 리전은 < cluster_name>-<role>-<region > 형식으로 이 값에 대한 일반적인 패턴을 형성합니다.
2 3
클러스터 ID를 클러스터 이름으로 지정합니다.
4
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
5
머신 템플릿 이름을 지정합니다.

11.4.1.2. 클러스터 API를 사용하여 Amazon Web Services 기능 활성화

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 다음 기능을 활성화할 수 있습니다.

11.4.1.2.1. Elastic Fabric Adapter 인스턴스 및 배치 그룹 옵션

기존 AWS 배치 그룹 내에서 EBS( Elastic Fabric Adapter ) 인스턴스에 컴퓨팅 머신을 배포할 수 있습니다.

EFA 인스턴스에는 배치 그룹이 필요하지 않으며 EFA 구성 이외의 용도로 배치 그룹을 사용할 수 있습니다. 다음 예제에서는 EFA 및 배치 그룹을 함께 사용하여 지정된 배치 그룹 내의 시스템의 네트워크 성능을 향상시킬 수 있는 구성을 보여줍니다.

구성에 따라 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에서 적절한 값을 구성합니다. 그런 다음, 머신을 배포할 때 머신 템플릿을 참조하도록 머신 세트 YAML 파일을 구성합니다.

샘플 EFA 인스턴스 및 배치 그룹 구성

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      instanceType: <supported_instance_type> 
1

      networkInterfaceType: efa 
2

      placementGroupName: <placement_group> 
3

      placementGroupPartition: <placement_group_partition_number> 
4

# ...
Copy to Clipboard Toggle word wrap

1
2
efa 네트워크 인터페이스 유형을 지정합니다.
3
머신을 배포할 기존 AWS 배치 그룹의 이름을 지정합니다.
4
선택 사항: 시스템을 배포하려는 기존 AWS 배치 그룹의 파티션 번호를 지정합니다.
참고

생성하는 배치 그룹 유형에 대한 규칙 및 제한 사항이 의도한 사용 사례와 호환되는지 확인합니다.

11.4.1.2.2. Amazon EC2 인스턴스 메타데이터 서비스 구성 옵션

AWS(Amazon Web Services) 클러스터에서 사용하는 Amazon EC2 인스턴스 메타데이터 서비스(IMDS) 버전을 제한할 수 있습니다. 머신은 IMDSv2(AWS 문서)를 사용하거나 IMDSv2 외에 IMDSv1 사용을 허용할 수 있습니다.

구성에 따라 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에서 적절한 값을 구성합니다. 그런 다음, 머신을 배포할 때 머신 템플릿을 참조하도록 머신 세트 YAML 파일을 구성합니다.

중요

IMDSv2가 필요한 머신을 생성하기 전에 IMDS와 상호 작용하는 모든 워크로드가 IMDSv2를 지원하는지 확인합니다.

샘플 IMDS 구성

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      instanceMetadataOptions:
        httpEndpoint: enabled
        httpPutResponseHopLimit: 1 
1

        httpTokens: optional 
2

        instanceMetadataTags: disabled
# ...
Copy to Clipboard Toggle word wrap

1
IMDSv2 호출에 허용되는 네트워크 홉 수를 지정합니다. 값을 지정하지 않으면 이 매개변수는 기본적으로 1 로 설정됩니다.
2
IMDSv2를 사용해야 하는지 여부를 지정합니다. 값을 지정하지 않으면 이 매개변수는 기본적으로 선택 사항으로 설정됩니다. 다음 값이 유효합니다.
optional
IMDSv1과 IMDSv2를 모두 사용하도록 허용합니다.
필수 항목
IMDSv2가 필요합니다.
참고

머신 API는 httpEndpoint,httpPutResponseHopLimitinstanceMetadataTags 필드를 지원하지 않습니다. 이 기능을 사용하는 클러스터 API 머신 템플릿을 Machine API 컴퓨팅 머신 세트로 마이그레이션하는 경우 생성되는 모든 머신 API 머신에는 이러한 필드가 없으며 기본 인스턴스에서 이러한 설정을 사용하지 않습니다. 마이그레이션된 머신 세트가 관리하는 기존 머신은 이러한 필드를 유지하며 기본 인스턴스는 이러한 설정을 계속 사용합니다.

IMDSv2를 사용해야 하는 경우 시간 초과가 발생할 수 있습니다. 완화 전략을 비롯한 자세한 내용은 AWS 설명서( 인스턴스 메타데이터 액세스 고려 사항 )를 참조하십시오.

11.4.1.2.3. 전용 인스턴스 구성 옵션

AWS(Amazon Web Services) 클러스터에서 Dedicated Instances가 지원하는 머신을 배포할 수 있습니다.

Dedicated 인스턴스는 단일 고객 전용 하드웨어의 VPC(가상 프라이빗 클라우드)에서 실행됩니다. 이러한 Amazon EC2 인스턴스는 호스트 하드웨어 수준에서 물리적으로 분리됩니다. Dedicated 인스턴스의 분리는 인스턴스가 하나의 유료 계정에 연결된 다른 AWS 계정에 속하는 경우에도 발생합니다. 하지만 전용이 아닌 다른 인스턴스는 동일한 AWS 계정에 속하는 경우 Dedicated 인스턴스와 하드웨어를 공유할 수 있습니다.

OpenShift Container Platform은 공용 또는 전용 테넌시가 있는 인스턴스를 지원합니다.

구성에 따라 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에서 적절한 값을 구성합니다. 그런 다음, 머신을 배포할 때 머신 템플릿을 참조하도록 머신 세트 YAML 파일을 구성합니다.

샘플 Dedicated 인스턴스 구성

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      tenancy: dedicated 
1

# ...
Copy to Clipboard Toggle word wrap

1
단일 테넌트 하드웨어에서 실행되는 전용 테넌시가 있는 인스턴스를 사용하도록 지정합니다. 이 값을 지정하지 않으면 공유 하드웨어에서 실행되는 공용 테넌시가 있는 인스턴스가 기본적으로 사용됩니다.
11.4.1.2.4. 보장되지 않는 Spot 인스턴스 및 시간별 비용 제한

AWS(Amazon Web Services)에서 보장되지 않는 Spot 인스턴스로 머신을 배포할 수 있습니다. 스팟 인스턴스는 AWS EC2 용량을 사용하며 온 디맨드 인스턴스보다 비용이 저렴합니다. 일괄 처리 또는 상태 비저장, 수평적으로 확장 가능한 워크로드와 같이 인터럽트를 허용할 수 있는 워크로드에 Spot 인스턴스를 사용할 수 있습니다.

구성에 따라 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에서 적절한 값을 구성합니다. 그런 다음, 머신을 배포할 때 머신 템플릿을 참조하도록 머신 세트 YAML 파일을 구성합니다.

중요

AWS EC2는 언제든지 Spot 인스턴스의 용량을 회수할 수 있습니다.

샘플 Spot 인스턴스 구성

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      spotMarketOptions: 
1

        maxPrice: <price_per_hour> 
2

# ...
Copy to Clipboard Toggle word wrap

1
Spot 인스턴스의 사용을 지정합니다.
2
선택 사항: Spot 인스턴스의 미국 달러로 시간별 비용 제한을 지정합니다. 예를 들어 < price_per_hour > 값을 2.50 으로 설정하면 Spot 인스턴스의 비용이 시간당 amount 2.50으로 제한됩니다. 이 값을 설정하지 않으면 최대 가격은 온 디맨드 인스턴스 가격까지 청구됩니다.
주의

특정 maxPrice: < price_per_hour > 값을 설정하면 기본 온 디맨드 인스턴스 가격 사용과 비교하여 중단 빈도가 증가할 수 있습니다. 기본 온 디맨드 인스턴스 가격을 사용하고 Spot 인스턴스의 최대 가격을 설정하지 않는 것이 좋습니다.

다음과 같은 이유로 Spot 인스턴스를 사용할 때 중단될 수 있습니다.

  • 인스턴스 가격이 최대 가격을 초과합니다.
  • Spot 인스턴스에 대한 수요가 증가합니다.
  • Spot 인스턴스의 공급이 감소합니다.

AWS는 중단이 발생하면 사용자에게 2 분 동안 경고 메세지를 보냅니다. OpenShift Container Platform은 AWS가 종료에 대한 경고를 발행할 때 영향을 받는 인스턴스에서 워크로드를 제거하기 시작합니다.

AWS가 인스턴스를 종료하면 Spot 인스턴스 노드에서 실행중인 종료 프로세스가 머신 리소스를 삭제합니다. 컴퓨팅 머신 세트 replicas 수량을 충족하기 위해 컴퓨팅 머신 세트는 Spot 인스턴스를 요청하는 머신을 생성합니다.

11.4.1.2.5. 용량 예약 구성 옵션

OpenShift Container Platform 버전 4.20 이상에서는 온디맨드 용량 예약 및 ML의 용량 블록을 포함하여 Amazon Web Services 클러스터에서 용량 예약을 지원합니다.

사용자가 정의한 용량 요청의 매개변수와 일치하는 사용 가능한 리소스에 머신을 배포할 수 있습니다. 이러한 매개변수는 예약할 인스턴스 유형, 리전 및 인스턴스 수를 지정합니다. 용량 예약이 용량 요청을 수용할 수 있는 경우 배포에 성공합니다.

구성에 따라 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에서 적절한 값을 구성합니다. 그런 다음, 머신을 배포할 때 머신 템플릿을 참조하도록 머신 세트 YAML 파일을 구성합니다.

샘플 용량 예약 구성

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      capacityReservationId: <capacity_reservation> 
1

      capacityReservationPreference: <reservation_preference> 
2

      marketType: <market_type> 
3

# ...
Copy to Clipboard Toggle word wrap

1
머신을 배포하려는 ML 또는 온 디맨드 용량 예약의 용량 블록 ID를 지정합니다.
2
기본 용량 예약 동작을 지정합니다. 다음 값이 유효합니다.
CapacityReservationsOnly
일치하는 용량 예약이 필요한 경우 이 옵션을 사용합니다. 일치하는 용량 예약이 없는 경우 인스턴스가 시작되지 않습니다.
open
가용성 영역 및 인스턴스 유형과 일치하는 오픈 용량 예약을 사용하려면 이 옵션을 사용합니다.
없음
용량 예약을 금지하려면 이 옵션을 사용합니다. 이 옵션을 사용하면 사용하려는 워크로드에 대해 용량 예약을 사용할 수 있습니다.
3
사용할 시장 유형을 지정합니다. 다음 값이 유효합니다.
CapacityBlock
ML 용 용량 블록과 함께 이 시장 유형을 사용합니다.
OnDemand
온디맨드 용량 예약과 함께 이 시장 유형을 사용합니다.
스팟
Spot 인스턴스와 함께 이 시장 유형을 사용합니다. 이 옵션은 용량 예약과 호환되지 않습니다.

이 오퍼링에 대한 제한 사항 및 제안된 사용 사례를 포함한 자세한 내용은 AWS 문서의 온디맨드 용량 예약 및 ML 용량 블록을 참조하십시오.

11.4.1.2.6. GPU 지원 머신 옵션

AWS(Amazon Web Services)에 GPU 지원 컴퓨팅 머신을 배포할 수 있습니다. 다음 샘플 구성에서는 AWS G4dn 인스턴스 유형을 사용합니다. 이 인스턴스 유형은 NVIDIA Cryostat T4 Tensor Core GPU를 포함합니다.

지원되는 인스턴스 유형에 대한 자세한 내용은 NVIDIA 설명서의 다음 페이지를 참조하십시오.

구성을 사용하여 컴퓨팅 머신을 배포하려면 머신 템플릿 YAML 파일에 적절한 값과 머신을 배포할 때 머신 템플릿을 참조하는 머신 세트 YAML 파일을 구성합니다.

GPU 지원 머신 템플릿 구성 샘플

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
# ...
spec:
  template:
    spec:
      instanceType: g4dn.xlarge 
1

# ...
Copy to Clipboard Toggle word wrap

1
G4dn 인스턴스 유형을 지정합니다.

GPU 지원 머신 세트 샘플 구성

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

  namespace: openshift-cluster-api
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name>
spec:
  clusterName: <cluster_name>
  replicas: 1
  selector:
    matchLabels:
      test: example
      cluster.x-k8s.io/cluster-name: <cluster_name>
      cluster.x-k8s.io/set-name: <cluster_name>-gpu-<region> 
2

  template:
    metadata:
      labels:
        test: example
        cluster.x-k8s.io/cluster-name: <cluster_name>
        cluster.x-k8s.io/set-name: <cluster_name>-gpu-<region> 
3

        node-role.kubernetes.io/<role>: ""
# ...
Copy to Clipboard Toggle word wrap

1
gpu 역할을 포함하는 이름을 지정합니다. 이름에는 클러스터 ID를 접두사로 포함하고 리전은 접미사로 포함됩니다.
2
머신 세트 이름과 일치하는 선택기 레이블을 지정합니다.
3
머신 세트 이름과 일치하는 템플릿 레이블을 지정합니다.

11.4.2. Google Cloud Platform의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 Google Cloud Cluster API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

11.4.2.1. Google Cloud 클러스터 구성을 위한 샘플 YAML

다음 예제 YAML 파일은 Google Cloud 클러스터에 대한 구성을 보여줍니다.

11.4.2.1.1. Google Cloud에서 클러스터 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
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
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name> 
2

spec:
  clusterName: <cluster_name> 
3

  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
      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
컴퓨팅 머신 세트의 이름을 지정합니다. 클러스터 ID, 머신 역할 및 리전은 < cluster_name>-<role>-<region > 형식으로 이 값에 대한 일반적인 패턴을 형성합니다.
2 3
클러스터 ID를 클러스터 이름으로 지정합니다.
4
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
5
머신 템플릿 이름을 지정합니다.
6
Google Cloud 리전 내에서 실패 도메인을 지정합니다.

11.4.3. Microsoft Azure의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 Microsoft Azure Cluster API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

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

다음 예제 YAML 파일은 Azure 클러스터에 대한 구성을 보여줍니다.

11.4.3.1.1. Microsoft Azure의 클러스터 API 머신 템플릿 리소스의 샘플 YAML

머신 템플릿 리소스는 공급자마다 다르며 컴퓨팅 머신 세트에서 생성하는 시스템의 기본 속성을 정의합니다. 머신을 생성할 때 컴퓨팅 머신 세트는 이 템플릿을 참조합니다.

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

metadata:
  name: <template_name> 
2

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

      disableExtensionOperations: true
      identity: UserAssigned
      image:
        id: /subscriptions/<subscription_id>/resourceGroups/<cluster_name>-rg/providers/Microsoft.Compute/galleries/gallery_<compliant_cluster_name>/images/<cluster_name>-gen2/versions/latest 
4

      networkInterfaces:
        - acceleratedNetworking: true
          privateIPConfigs: 1
          subnetName: <cluster_name>-worker-subnet
      osDisk:
        diskSizeGB: 128
        managedDisk:
          storageAccountType: Premium_LRS
        osType: Linux
      sshPublicKey: <ssh_key_value>
      userAssignedIdentities:
        - providerID: 'azure:///subscriptions/<subscription_id>/resourcegroups/<cluster_name>-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<cluster_name>-identity'
      vmSize: Standard_D4s_v3
Copy to Clipboard Toggle word wrap
1
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
2
머신 템플릿의 이름을 지정합니다.
3
환경에 대한 세부 정보를 지정합니다. 여기에 있는 값은 예입니다.
4
인스턴스 유형과 호환되는 이미지를 지정합니다. 설치 프로그램에서 생성한 Hyper-V generation V2 이미지에는 -gen2 접미사가 있지만 V1 이미지의 접미사 없이 이름이 동일합니다.
참고

기본 OpenShift Container Platform 클러스터 이름에 하이픈(-)이 포함되어 있으며, 이는 Azure everyone 이름 요구 사항과 호환되지 않습니다. 이 구성의 < compliant_cluster_name > 값은 하이픈 대신 밑줄(_)을 사용하여 이러한 요구 사항을 준수해야 합니다. < cluster_name >의 다른 인스턴스는 변경되지 않습니다.

예를 들어, jdoe-test-2m2np 클러스터 이름은 jdoe_test_2m2np 로 변환됩니다. 이 예제의 Cryostat _<compliant_cluster_name >에 대한 전체 문자열은LOCAL _jdoe_test_2m2np 이며, ring _jdoe-test-2m2np. 이 예제의 spec.template.spec.image.id 의 전체 값은 /subscriptions/<subscription_id>/resourceGroups/jdoe-test-2m2np-rg/providers/Microsoft.Compute/galleries/gallery_jdoe_test_2m2np/images/jdoe-test-2m2np2/versions latest 입니다.

11.4.3.1.2. Microsoft Azure의 Cluster API 컴퓨팅 머신 세트 리소스의 샘플 YAML

컴퓨팅 머신 세트 리소스는 생성하는 시스템의 추가 속성을 정의합니다. 컴퓨팅 머신 세트는 머신을 생성할 때 클러스터 리소스 및 머신 템플릿도 참조합니다.

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

  namespace: openshift-cluster-api
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name> 
2

spec:
  clusterName: <cluster_name>
  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
      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: AzureMachineTemplate 
3

        name: <template_name> 
4
Copy to Clipboard Toggle word wrap
1
컴퓨팅 머신 세트의 이름을 지정합니다. 클러스터 ID, 머신 역할 및 리전은 < cluster_name>-<role>-<region > 형식으로 이 값에 대한 일반적인 패턴을 형성합니다.
2
클러스터 ID를 클러스터 이름으로 지정합니다.
3
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
4
머신 템플릿 이름을 지정합니다.

11.4.4. Red Hat OpenStack Platform의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 RHOSP(Red Hat OpenStack Platform) 클러스터 API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

11.4.4.1. RHOSP 클러스터 구성을 위한 샘플 YAML

다음 예제 YAML 파일은 RHOSP 클러스터에 대한 구성을 보여줍니다.

11.4.4.1.1. RHOSP에서 클러스터 API 머신 템플릿 리소스의 샘플 YAML

머신 템플릿 리소스는 공급자마다 다르며 컴퓨팅 머신 세트에서 생성하는 시스템의 기본 속성을 정의합니다. 머신을 생성할 때 컴퓨팅 머신 세트는 이 템플릿을 참조합니다.

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
사용할 이미지를 지정합니다.
11.4.4.1.2. RHOSP에서 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
      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 네임스페이스의 작업자 사용자 데이터 시크릿을 사용할 수 있습니다.
4
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
5
머신 템플릿 이름을 지정합니다.
6
선택 사항: 시스템을 생성할 시스템 세트의 Nova 가용성 영역의 이름을 지정합니다. 값을 지정하지 않으면 시스템은 특정 가용성 영역으로 제한되지 않습니다.

11.4.5. VMware vSphere의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 VMware vSphere Cluster API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

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

다음 예제 YAML 파일은 VMware vSphere 클러스터에 대한 구성을 보여줍니다.

11.4.5.1.1. VMware vSphere에서 클러스터 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
Copy to Clipboard Toggle word wrap
1
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
2
머신 템플릿의 이름을 지정합니다.
3
환경에 대한 세부 정보를 지정합니다. 여기에 있는 값은 예입니다.
4
사용할 vSphere VM 템플릿 (예: user-5ddjd-rhcos)을 지정합니다.
5
vCenter 서버 IP 또는 정규화된 도메인 이름을 지정합니다.
6
사용할 VM 복제 유형을 지정합니다. 다음 값이 유효합니다.
  • fullClone
  • linkedClone

linkedClone 유형을 사용하는 경우 디스크 크기는 diskGiB 값을 사용하는 대신 복제 소스와 일치합니다. 자세한 내용은 VM 복제 유형에 대한 vSphere 설명서를 참조하십시오.

7
컴퓨팅 머신 세트를 배포할 vCenter 데이터 센터를 지정합니다.
8
컴퓨팅 머신 세트를 배포할 vCenter 데이터 저장소를 지정합니다.
9
vCenter의 vSphere VM 폴더에 경로(예: /dc1/vm/user-inst-5ddjd)를 지정합니다.
10
VM의 vSphere 리소스 풀을 지정합니다.
11
컴퓨팅 머신 세트를 배포할 vSphere VM 네트워크를 지정합니다. 이 VM 네트워크는 다른 컴퓨팅 시스템이 클러스터에 상주하는 위치여야 합니다.

컴퓨팅 머신 세트 리소스는 생성하는 시스템의 추가 속성을 정의합니다. 컴퓨팅 머신 세트는 머신을 생성할 때 클러스터 리소스 및 머신 템플릿도 참조합니다.

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

  namespace: openshift-cluster-api
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name> 
2

spec:
  clusterName: <cluster_name> 
3

  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
      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
컴퓨팅 머신 세트의 이름을 지정합니다. 클러스터 ID, 머신 역할 및 리전은 < cluster_name>-<role>-<region > 형식으로 이 값에 대한 일반적인 패턴을 형성합니다.
2 3
클러스터 ID를 클러스터 이름으로 지정합니다.
4
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
5
머신 템플릿 이름을 지정합니다.
6
실패 도메인 구성 세부 정보를 지정합니다.
참고

클러스터 API를 사용하는 vSphere 클러스터에서 여러 리전 및 영역을 사용하는 것은 검증된 구성이 아닙니다.

11.4.6. 베어 메탈의 클러스터 API 구성 옵션

Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 베어 메탈 클러스터 API 머신의 구성을 변경할 수 있습니다.

중요

클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

11.4.6.1. 베어 메탈 클러스터 구성을 위한 샘플 YAML

다음 예제 YAML 파일은 베어 메탈 클러스터에 대한 구성을 보여줍니다.

11.4.6.1.1. 베어 메탈의 Cluster API 머신 템플릿 리소스의 샘플 YAML

머신 템플릿 리소스는 공급자마다 다르며 컴퓨팅 머신 세트에서 생성하는 시스템의 기본 속성을 정의합니다. 머신을 생성할 때 컴퓨팅 머신 세트는 이 템플릿을 참조합니다.

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

metadata:
  name: <template_name>  
2

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

      customDeploy: install_coreos
      userData:
        name: worker-user-data-managed 
4
Copy to Clipboard Toggle word wrap
1
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
2
머신 템플릿의 이름을 지정합니다.
3
환경에 대한 세부 정보를 지정합니다. 여기에 있는 값은 예입니다.
4
userData 매개변수는 설치 중에 Machine API Operator가 생성하는 Ignition 구성을 나타냅니다. 다음 명령을 실행하여 클러스터가 보안에 액세스할 수 있도록 openshift-cluster-api 네임스페이스를 적용해야 합니다.
$ oc get secret worker-user-data-managed \
  -n openshift-machine-api -o yaml | \
  sed 's/namespace: .*/namespace: openshift-cluster-api/' | oc apply -f -
Copy to Clipboard Toggle word wrap
11.4.6.1.2. 베어 메탈의 Cluster API 컴퓨팅 머신 세트 리소스의 샘플 YAML

컴퓨팅 머신 세트 리소스는 생성하는 시스템의 추가 속성을 정의합니다. 컴퓨팅 머신 세트는 머신을 생성할 때 클러스터 리소스 및 머신 템플릿도 참조합니다.

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

  namespace: openshift-cluster-api
  labels:
    cluster.x-k8s.io/cluster-name: <cluster_name> 
2

spec:
  clusterName: <cluster_name>
  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/worker: ""
    spec:
      bootstrap:
         dataSecretName: worker-user-data-managed
      clusterName: <cluster_name>
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: Metal3MachineTemplate 
3

        name: <template_name> 
4
Copy to Clipboard Toggle word wrap
1
컴퓨팅 머신 세트의 이름을 지정합니다. 클러스터 ID, 머신 역할 및 리전은 < cluster_name>-<role>-<region > 형식으로 이 값에 대한 일반적인 패턴을 형성합니다.
2
클러스터 ID를 클러스터 이름으로 지정합니다.
3
머신 템플릿 유형을 지정합니다. 이 값은 플랫폼의 값과 일치해야 합니다.
4
머신 템플릿 이름을 지정합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat