13.5. 클러스터 API 시스템에 대한 구성 옵션
13.5.1. Amazon Web Services의 클러스터 API 구성 옵션
클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 AWS(Amazon Web Services) 클러스터 API 머신의 구성을 변경할 수 있습니다.
13.5.1.1. Amazon Web Services 클러스터 구성을 위한 샘플 YAML
다음 예제 YAML 파일은 Amazon Web Services 클러스터에 대한 구성을 보여줍니다.
13.5.1.1.1. Amazon Web Services에서 클러스터 API 인프라 리소스의 샘플 YAML
인프라 리소스는 공급자별로 다르며 리전 및 서브넷과 같이 클러스터의 모든 컴퓨팅 머신 세트에서 공유하는 속성을 정의합니다. 컴퓨팅 머신 세트는 머신을 생성할 때 이 리소스를 참조합니다.
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 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
13.5.1.1.2. Amazon Web Services에서 클러스터 API 머신 템플릿 리소스의 샘플 YAML
머신 템플릿 리소스는 공급자마다 다르며 컴퓨팅 머신 세트에서 생성하는 시스템의 기본 속성을 정의합니다. 머신을 생성할 때 컴퓨팅 머신 세트는 이 템플릿을 참조합니다.
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 kind: AWSMachineTemplate 1 metadata: name: <template_name> 2 namespace: openshift-cluster-api spec: template: spec: 3 uncompressedUserData: true iamInstanceProfile: # ... instanceType: m5.large cloudInit: insecureSkipSecretsManager: true ami: id: # ... subnet: filters: - name: tag:Name values: - # ... additionalSecurityGroups: - filters: - name: tag:Name values: - # ...
13.5.1.1.3. Amazon Web Services에서 클러스터 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
13.5.2. Google Cloud Platform의 클러스터 API 구성 옵션
클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Cluster API 사용자 정의 리소스 매니페스트에서 값을 업데이트하여 GCP(Google Cloud Platform) 클러스터 API 머신의 구성을 변경할 수 있습니다.
13.5.2.1. Google Cloud Platform 클러스터를 구성하는 샘플 YAML
다음 예제 YAML 파일은 Google Cloud Platform 클러스터에 대한 구성을 보여줍니다.
13.5.2.1.1. Google Cloud Platform에서 클러스터 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
13.5.2.1.2. Google Cloud Platform의 클러스터 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
13.5.2.1.3. Google Cloud Platform에서 클러스터 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