13.2. 클러스터 API 시작하기
클러스터 API로 머신 관리는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Cluster API 기술 프리뷰의 경우 클러스터 API에 수동으로 필요한 기본 리소스를 생성해야 합니다.
13.2.1. Cluster API 기본 리소스 생성
Cluster API 기본 리소스를 생성하려면 클러스터 리소스 매니페스트에서 < cluster_name
> 매개변수에 사용하는 클러스터 ID 값을 가져와야 합니다.
13.2.1.1. 클러스터 ID 값 가져오기
OpenShift CLI(oc
)를 사용하여 클러스터 ID 값을 찾을 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
절차
다음 명령을 실행하여 클러스터 ID의 값을 가져옵니다.
$ oc get infrastructure cluster \ -o jsonpath='{.status.infrastructureName}'
YAML 매니페스트 파일을 생성하고 OpenShift CLI(oc
)로 적용하여 Cluster API 기본 리소스를 수동으로 생성할 수 있습니다.
13.2.1.2. Cluster API 클러스터 리소스 생성
YAML 매니페스트 파일을 생성하고 OpenShift CLI(oc
)로 적용하여 클러스터 리소스를 생성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포했습니다.
- 클러스터 API 사용을 활성화했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. - 클러스터 ID 값이 있습니다.
절차
다음과 유사한 YAML 파일을 생성합니다. 이 절차에서는 &
lt;cluster_resource_file>.yaml
을 예제 파일 이름으로 사용합니다.apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: <cluster_name> 1 namespace: openshift-cluster-api spec: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 kind: <infrastructure_kind> 2 name: <cluster_name> namespace: openshift-cluster-api
다음 명령을 실행하여 클러스터 CR을 생성합니다.
$ oc create -f <cluster_resource_file>.yaml
검증
다음 명령을 실행하여 클러스터 CR이 있는지 확인합니다.
$ oc get cluster
출력 예
NAME PHASE AGE VERSION <cluster_name> Provisioning 4h6m
PHASE
값이프로비저닝
되면 클러스터 리소스가 준비됩니다.
추가 리소스
13.2.1.3. 클러스터 API 인프라 리소스 생성
YAML 매니페스트 파일을 생성하고 OpenShift CLI(oc
)로 적용하여 공급자별 인프라 리소스를 생성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포했습니다.
- 클러스터 API 사용을 활성화했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. - 클러스터 ID 값이 있습니다.
- 클러스터 리소스를 생성하고 적용했습니다.
절차
다음과 유사한 YAML 파일을 생성합니다. 이 절차에서는 &
lt;infrastructure_resource_file>.yaml
을 예제 파일 이름으로 사용합니다.apiVersion: infrastructure.cluster.x-k8s.io/<version> 1 kind: <infrastructure_kind> 2 metadata: name: <cluster_name> 3 namespace: openshift-cluster-api spec: 4
- 1
apiVersion
은 플랫폼에 따라 다릅니다. 자세한 내용은 공급자의 샘플 Cluster API 인프라 리소스 YAML을 참조하십시오. 다음 값이 유효합니다.-
infrastructure.cluster.x-k8s.io/v1beta1
: GCP(Google Cloud Platform) 클러스터가 사용하는 버전입니다. -
infrastructure.cluster.x-k8s.io/v1beta1
: AWS(Amazon Web Services) 클러스터가 사용하는 버전입니다.
-
- 2
- 클러스터의 인프라 종류를 지정합니다. 이 값은 플랫폼 값과 일치해야 합니다. 다음 값이 유효합니다.
-
AWSCluster
: 클러스터가 AWS에서 실행되고 있습니다. -
GCPCluster
: 클러스터가 GCP에서 실행되고 있습니다.
-
- 3
- 클러스터 이름을 지정합니다.
- 4
- 환경에 대한 세부 정보를 지정합니다. 이러한 매개변수는 공급자별로 다릅니다. 자세한 내용은 공급자의 샘플 Cluster API 인프라 리소스 YAML을 참조하십시오.
다음 명령을 실행하여 infrastructure CR을 생성합니다.
$ oc create -f <infrastructure_resource_file>.yaml
검증
다음 명령을 실행하여 인프라 CR이 생성되었는지 확인합니다.
$ oc get <infrastructure_kind>
여기서
<infrastructure_kind
>는 플랫폼에 해당하는 값입니다.출력 예
NAME CLUSTER READY <cluster_name> <cluster_name> true
참고이 출력에는 클라우드 공급자와 관련된 추가 열이 포함될 수 있습니다.
13.2.1.4. 클러스터 API 머신 템플릿 생성
YAML 매니페스트 파일을 생성하고 OpenShift CLI(oc
)로 적용하여 공급자별 머신 템플릿 리소스를 생성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포했습니다.
- 클러스터 API 사용을 활성화했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. - 클러스터 및 인프라 리소스를 생성하고 적용했습니다.
절차
다음과 유사한 YAML 파일을 생성합니다. 이 절차에서는 &
lt;machine_template_resource_file>.yaml
을 예제 파일 이름으로 사용합니다.apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 kind: <machine_template_kind> 1 metadata: name: <template_name> 2 namespace: openshift-cluster-api spec: template: spec: 3
다음 명령을 실행하여 머신 템플릿 CR을 생성합니다.
$ oc create -f <machine_template_resource_file>.yaml
검증
다음 명령을 실행하여 머신 템플릿 CR이 생성되었는지 확인합니다.
$ oc get <machine_template_kind>
여기서
<machine_template_kind
>는 플랫폼에 해당하는 값입니다.출력 예
NAME AGE <template_name> 77m
13.2.1.5. 클러스터 API 컴퓨팅 머신 세트 생성
Cluster API를 사용하여 선택한 특정 워크로드의 머신 컴퓨팅 리소스를 동적으로 관리하는 컴퓨팅 머신 세트를 생성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 배포했습니다.
- 클러스터 API 사용을 활성화했습니다.
-
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다. - 클러스터, 인프라 및 머신 템플릿 리소스를 생성했습니다.
절차
다음과 유사한 YAML 파일을 생성합니다. 이 절차에서는 &
lt;machine_set_resource_file>.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: 3 # ...
다음 명령을 실행하여 컴퓨팅 머신 세트 CR을 생성합니다.
$ oc create -f <machine_set_resource_file>.yaml
다음 명령을 실행하여 컴퓨팅 머신 세트 CR이 생성되었는지 확인합니다.
$ oc get machineset -n openshift-cluster-api 1
- 1
openshift-cluster-api
네임스페이스를 지정합니다.
출력 예
NAME CLUSTER REPLICAS READY AVAILABLE AGE VERSION <machine_set_name> <cluster_name> 1 1 1 17m
새 컴퓨팅 머신 세트를 사용할 수 있으면
REPLICAS
및AVAILABLE
값이 일치합니다. 컴퓨팅 머신 세트를 사용할 수 없는 경우 몇 분 기다렸다가 명령을 다시 실행합니다.
검증
컴퓨팅 머신 세트가 필수 구성에 따라 시스템을 생성하고 있는지 확인하려면 다음 명령을 실행하여 클러스터의 시스템 및 노드 목록을 검토합니다.
클러스터 API 머신 목록을 확인합니다.
$ oc get machine -n openshift-cluster-api 1
- 1
openshift-cluster-api
네임스페이스를 지정합니다.
출력 예
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION <machine_set_name>-<string_id> <cluster_name> <ip_address>.<region>.compute.internal <provider_id> Running 8m23s
노드 목록을 확인합니다.
$ oc get node
출력 예
NAME STATUS ROLES AGE VERSION <ip_address_1>.<region>.compute.internal Ready worker 5h14m v1.28.5 <ip_address_2>.<region>.compute.internal Ready master 5h19m v1.28.5 <ip_address_3>.<region>.compute.internal Ready worker 7m v1.28.5