11.6. 클러스터 API 비활성화
클러스터 API 사용을 중지하여 OpenShift Container Platform 클러스터에서 인프라 리소스 관리를 자동화하려면 클러스터의 Cluster API 리소스를 동등한 Machine API 리소스로 변환합니다.
클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
11.6.1. 클러스터 API 리소스를 머신 API 리소스로 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
Machine API 및 Cluster API 리소스 간 마이그레이션을 지원하는 클러스터에서는 양방향 동기화 컨트롤러에서 클러스터 API 리소스를 Machine API 리소스로 변환할 수 있습니다.
양방향 동기화 컨트롤러는 TechPreviewNoUpgrade
기능 세트의 MachineAPIMigration
기능 게이트가 활성화된 클러스터에서만 작동합니다.
원래 Machine API에서 Cluster API로 마이그레이션한 리소스 또는 Cluster API 리소스로 생성한 리소스를 마이그레이션할 수 있습니다. 원래 머신 API 리소스를 클러스터 API 리소스로 마이그레이션한 다음 다시 마이그레이션하면 마이그레이션 프로세스가 예상대로 작동하는지 확인할 수 있습니다.
지원되는 인프라 유형에서만 일부 리소스를 마이그레이션할 수 있습니다.
인프라 | 컴퓨팅 시스템 | 컴퓨팅 머신 세트 | 머신 상태 점검 | 컨트롤 플레인 머신 세트 | Cluster autoscaler |
---|---|---|---|---|---|
AWS | 기술 프리뷰 | 기술 프리뷰 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 |
기타 모든 인프라 유형 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 |
11.6.1.1. Machine API를 사용하도록 클러스터 API 리소스 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
개별 Cluster API 오브젝트를 동등한 Machine API 오브젝트로 마이그레이션할 수 있습니다.
Machine API를 사용하도록 클러스터 API 리소스를 마이그레이션하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
사전 요구 사항
- 지원되는 인프라 유형에 OpenShift Container Platform 클러스터를 배포했습니다.
-
TechPreviewNoUpgrade
기능 세트에서MachineAPIMigration
기능 게이트를 활성화했습니다. -
cluster-admin
권한이 있는 계정을 사용하여 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 Machine API 리소스로 마이그레이션할 클러스터 API 리소스를 식별합니다.
oc get <resource_kind> -n openshift-cluster-api
$ oc get <resource_kind> -n openshift-cluster-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서
<resource_kind
>는 다음 값 중 하나입니다.machine.cluster.x-k8s.io
- 컴퓨팅 또는 컨트롤 플레인 시스템에 대한 리소스 종류의 정규화된 이름입니다.
machineset.cluster.x-k8s.io
- 컴퓨팅 머신 세트의 리소스 유형의 정규화된 이름입니다.
다음 명령을 실행하여 리소스 사양을 편집합니다.
oc edit <resource_kind>/<resource_name> -n openshift-machine-api
$ oc edit <resource_kind>/<resource_name> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<resource_kind>
-
machineset.machine.openshift.io
를 사용하여machine.machine.openshift.io
또는 컴퓨팅 머신 세트를 사용하여 컴퓨팅 머신을 지정합니다. <resource_name>
- Machine API로 마이그레이션할 클러스터 API 리소스에 해당하는 Machine API 리소스의 이름을 지정합니다.
리소스 사양에서
spec.authoritativeAPI
필드의 값을 업데이트합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 변환 상태를 확인합니다.
oc -n openshift-machine-api get <resource_kind>/<resource_name> -o json | jq .status.authoritativeAPI
$ oc -n openshift-machine-api get <resource_kind>/<resource_name> -o json | jq .status.authoritativeAPI
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<resource_kind>
-
machineset.machine.openshift.io
를 사용하여machine.machine.openshift.io
또는 컴퓨팅 머신 세트를 사용하여 컴퓨팅 머신을 지정합니다. <resource_name>
- Machine API로 마이그레이션할 클러스터 API 리소스에 해당하는 Machine API 리소스의 이름을 지정합니다.
-
변환이 진행되는 동안 이 명령은
Migrating
값을 반환합니다. 이 값이 장기간 지속되는 경우openshift-cluster-api
네임스페이스에서cluster-capi-operator
배포의 로그를 확인하고 잠재적인 문제를 확인합니다. -
변환이 완료되면 이 명령은
MachineAPI
값을 반환합니다.
중요현재 권한 있는 API를 사용하는 해당 리소스를 삭제하려면 현재 권한 있는 API를 사용하지 않는 권한 없는 리소스는 삭제하지 마십시오.
현재 권한 있는 API를 사용하지 않는 권한 없는 리소스를 삭제하면 동기화 컨트롤러에서 현재 권한 있는 API를 사용하는 해당 리소스를 삭제합니다. 자세한 내용은 리소스 마이그레이션 문제 해결 콘텐츠에서 "Unexpected resource deletion behavior"를 참조하십시오.
11.6.1.2. 신뢰할 수 있는 API 유형의 컴퓨팅 시스템 링크 복사링크가 클립보드에 복사되었습니다!
컴퓨팅 시스템의 권한 있는 API는 이를 생성하는 Machine API 컴퓨팅 머신 세트의 .spec.authoritativeAPI
및 .spec.template.spec.authoritativeAPI
필드의 값에 따라 다릅니다.
|
|
|
|
|
|
|
|
|
|
새 컴퓨팅 시스템에 대한 |
|
|
|
|
.spec.authoritativeAPI
값이 ClusterAPI
인 경우 Machine API 머신 세트가 권한이 없으며 .spec.template.spec.authoritativeAPI
값이 사용되지 않습니다. 결과적으로 Machine API
를 사용하여 권한 있는 대로 컴퓨팅 머신을 생성하는 유일한 조합은 .spec.authoritativeAPI
및 .spec.template.spec.authoritativeAPI
값이 MachineAPI인 입니다.