11.6. 클러스터 API 비활성화
OpenShift Container Platform 클러스터에서 인프라 리소스 관리를 자동화하기 위해 클러스터 API를 사용하는 것을 중지하려면 클러스터의 모든 클러스터 API 리소스를 동등한 머신 API 리소스로 변환하세요.
클러스터 API를 사용하여 머신을 관리하는 것은 기술 프리뷰 기능만 해당합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
11.6.1. 클러스터 API 리소스를 머신 API 리소스로 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
Machine API와 Cluster API 리소스 간 마이그레이션을 지원하는 클러스터에서 양방향 동기화 컨트롤러는 Cluster API 리소스를 Machine API 리소스로 변환하는 것을 지원합니다.
양방향 동기화 컨트롤러는 TechPreviewNoUpgrade
기능 세트의 MachineAPIMigration
기능 게이트가 활성화된 클러스터에서만 작동합니다.
원래 Machine API에서 Cluster API로 마이그레이션한 리소스나 처음에 Cluster API 리소스로 생성한 리소스를 마이그레이션할 수 있습니다. 원래의 Machine API 리소스를 클러스터 API 리소스로 마이그레이션한 다음 다시 마이그레이션하면 마이그레이션 프로세스가 예상대로 작동하는지 확인할 수 있는 기회가 제공됩니다.
지원되는 인프라 유형에서만 일부 리소스를 마이그레이션할 수 있습니다.
인프라 | 컴퓨팅 머신 | 컴퓨팅 머신 세트 | 머신 상태 점검 | 제어 평면 기계 세트 | Cluster autoscaler |
---|---|---|---|---|---|
AWS | 기술 프리뷰 | 기술 프리뷰 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 |
기타 모든 인프라 유형 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 |
11.6.1.1. 클러스터 API 리소스를 머신 API를 사용하도록 마이그레이션 링크 복사링크가 클립보드에 복사되었습니다!
개별 클러스터 API 객체를 동등한 머신 API 객체로 마이그레이션할 수 있습니다.
클러스터 API 리소스를 머신 API를 사용하도록 마이그레이션하는 것은 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
사전 요구 사항
- 지원되는 인프라 유형에 OpenShift Container Platform 클러스터를 배포했습니다.
-
TechPreviewNoUpgrade
기능 세트에서MachineAPIMigration
기능 게이트를 활성화했습니다. -
cluster-admin
권한이 있는 계정을 사용하여 ROSA 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 머신 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>
-
machine.machine.openshift.io를
사용하여 컴퓨팅 머신을 지정하거나machineset.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>
-
machine.machine.openshift.io를
사용하여 컴퓨팅 머신을 지정하거나machineset.machine.openshift.io
를 사용하여 컴퓨팅 머신 세트를 지정합니다. <resource_name>
- Machine API로 마이그레이션하려는 클러스터 API 리소스에 해당하는 Machine API 리소스의 이름을 지정합니다.
-
변환이 진행되는 동안 이 명령은
Migrating
값을 반환합니다. 이 값이 오랫동안 지속되면openshift-cluster-api
네임스페이스에서cluster-capi-operator
배포에 대한 로그를 확인하여 자세한 정보를 얻고 잠재적인 문제를 파악하세요. -
변환이 완료되면 이 명령은
MachineAPI
값을 반환합니다.
중요현재 권한 있는 API를 사용하지 않는 비권한 리소스는 삭제하지 마세요. 현재 권한 있는 API를 사용하는 해당 리소스를 삭제하려는 경우가 아니면요.
현재 권한 있는 API를 사용하지 않는 비권한 있는 리소스를 삭제하면 동기화 컨트롤러는 현재 권한 있는 API를 사용하는 해당 리소스를 삭제합니다. 자세한 내용은 문제 해결 리소스 마이그레이션 콘텐츠의 "예기치 않은 리소스 삭제 동작"을 참조하세요.
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
인 경우입니다.