This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.6. 마이그레이션 컨트롤러 옵션
마이그레이션 계획 제한을 편집하거나, 대규모 마이그레이션 및 성능 향상을 위해 MigrationController CR(사용자 정의 리소스)에서 캐시된 Kubernetes 클라이언트를 활성화하고, 영구 볼륨 크기 조정을 활성화할 수 있습니다.
11.6.1. 대규모 마이그레이션에 대한 제한 증가 링크 복사링크가 클립보드에 복사되었습니다!
대규모 마이그레이션을 위해 MTC(Migration Toolkit for Containers)로 마이그레이션 오브젝트 및 컨테이너 리소스에 대한 마이그레이션 컨트롤러 제한을 늘릴 수 있습니다.
프로덕션 환경에서 마이그레이션을 수행하기 전에 이러한 변경 사항을 테스트해야 합니다.
절차
MigrationController사용자 지정 (CR) 매니페스트를 편집합니다.oc edit migrationcontroller -n openshift-migration
$ oc edit migrationcontroller -n openshift-migrationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 매개 변수를 업데이트합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
MigrationControllerCR에서 사용할 수 있는 CPU 수를 지정합니다.- 2
MigrationControllerCR에서 사용할 수 있는 메모리 양을 지정합니다.- 3
MigrationControllerCR 요청에 사용할 수 있는 CPU 단위 수를 지정합니다.100m은 0.1 CPU 단위(100 * 1e-3)를 나타냅니다.- 4
MigrationControllerCR 요청에 사용할 수 있는 메모리 양을 지정합니다.- 5
- 마이그레이션할 수 있는 영구 볼륨 수를 지정합니다.
- 6
- 마이그레이션할 수 있는 포드 수를 지정합니다.
- 7
- 마이그레이션할 수 있는 네임스페이스 수를 지정합니다.
업데이트된 매개 변수를 사용하여 변경 사항을 확인하는 마이그레이션 계획을 생성합니다.
마이그레이션 계획이
MigrationControllerCR 제한을 초과하는 경우 MTC 콘솔은 마이그레이션 계획을 저장할 때 경고 메시지를 표시합니다.
11.6.2. 직접 볼륨 마이그레이션의 영구 볼륨 크기 조정 활성화 링크 복사링크가 클립보드에 복사되었습니다!
대상 클러스터에서 디스크 공간이 부족하지 않도록 직접 볼륨 마이그레이션의 PV(영구 볼륨) 크기 조정을 활성화할 수 있습니다.
PV의 디스크 사용량이 구성된 수준에 도달하면 MigrationController CR(사용자 정의 리소스)은 PVC(영구 볼륨 클레임)의 요청된 스토리지 용량을 실제 프로비저닝된 용량과 비교합니다. 그런 다음 대상 클러스터에 필요한 공간을 계산합니다.
pv_resizing_threshold 매개 변수는 PV 크기 조정을 사용할 시기를 결정합니다. 기본 임계값은 3% 입니다. 즉 PV의 디스크 사용량이 97%를 초과하면 PV 크기가 조정됩니다. PV 크기 조정이 디스크 사용량이 낮은 수준에서 발생하도록 이 임계값을 늘릴 수 있습니다.
PVC 용량은 다음 기준에 따라 계산됩니다.
-
PVC의 요청된 스토리지 용량(
spec.resources.requests.storage)이 실제 프로비저닝된 용량(status.capacity.storage)과 같지 않으면 더 큰 값이 사용됩니다. - PV가 PVC를 통해 프로비저닝되고 나중에 PV 및 PVC 용량이 더 이상 일치하지 않도록 변경된 경우 더 큰 값이 사용됩니다.
사전 요구 사항
-
MigrationControllerCR에서 명령을 실행할 수 있도록 PVC를 실행 중인 하나 이상의 pod에 연결해야 합니다.
절차
- 호스트 클러스터에 로그인합니다.
MigrationControllerCR의 패치를 적용하여 PV 크기 조정을 활성화합니다.oc patch migrationcontroller migration-controller -p '{"spec":{"enable_dvm_pv_resizing":true}}' \ --type='merge' -n openshift-migration$ oc patch migrationcontroller migration-controller -p '{"spec":{"enable_dvm_pv_resizing":true}}' \1 --type='merge' -n openshift-migrationCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PV 크기 조정을 비활성화하려면 값을
false로 설정합니다.
선택 사항:
pv_resizing_threshold매개변수를 업데이트하여 임계값을 늘립니다.oc patch migrationcontroller migration-controller -p '{"spec":{"pv_resizing_threshold":41}}' \ --type='merge' -n openshift-migration$ oc patch migrationcontroller migration-controller -p '{"spec":{"pv_resizing_threshold":41}}' \1 --type='merge' -n openshift-migrationCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 기본값은
3입니다.
임계값을 초과하면
MigPlanCR 상태에 다음 상태 정보 메시지가 표시됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고AWS gp2 스토리지의 경우 gp2에서 볼륨 사용량과 크기를 계산하는 방식 때문에
pv_resizing_threshold가 42% 이상인 경우 이 메시지가 표시되지 않습니다. (BZ#1973148)
11.6.3. 캐시된 Kubernetes 클라이언트 활성화 링크 복사링크가 클립보드에 복사되었습니다!
마이그레이션 중에 성능이 향상되도록 MigrationController CR (사용자 정의 리소스)에서 캐시된 Kubernetes 클라이언트를 활성화할 수 있습니다. 서로 다른 지역에 있는 클러스터 간에 마이그레이션하거나 네트워크 지연 시간이 큰 경우 가장 큰 성능 이점이 표시됩니다.
예를 들어 직접 볼륨 마이그레이션에 대한 Rsync 백업이나 Velero 백업 및 복원과 같은 위임된 작업에서는 캐시된 클라이언트의 성능이 향상되지 않습니다.
MigrationController CR에서 MigCluster CR과 상호 작용하는 데 필요한 모든 API 리소스를 캐시하므로 캐시된 클라이언트에는 추가 메모리가 필요합니다. 일반적으로 API 서버로 전송되는 요청은 대신 캐시로 이동합니다. 캐시는 업데이트를 위해 API 서버를 모니터링합니다.
캐시된 클라이언트를 활성화한 후 OOMKilled 오류가 발생하면 MigrationController CR의 메모리 제한과 요청을 늘릴 수 있습니다.
절차
다음 명령을 실행하여 캐시된 클라이언트를 활성화합니다.
oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_enable_cache", "value": true}]'$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_enable_cache", "value": true}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여
MigrationControllerCR 메모리 제한을 늘립니다.oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_limits_memory", "value": <10Gi>}]'$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_limits_memory", "value": <10Gi>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여
MigrationControllerCR 메모리 요청을 늘립니다.oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_requests_memory", "value": <350Mi>}]'$ oc -n openshift-migration patch migrationcontroller migration-controller --type=json --patch \ '[{ "op": "replace", "path": "/spec/mig_controller_requests_memory", "value": <350Mi>}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow