11장. 문제 해결
이 섹션에서는 MTC(Migration Toolkit for Containers) 문제 해결을 위한 리소스에 대해 설명합니다.
알려진 문제는 MTC 릴리스 노트 를 참조하십시오.
11.1. MTC 워크플로
MTC(Migration Toolkit for Containers) 웹 콘솔 또는 Kubernetes API를 사용하여 Kubernetes 리소스, 영구 볼륨 데이터 및 내부 컨테이너 이미지를 OpenShift Container Platform 4.17로 마이그레이션할 수 있습니다.
(MTC)는 다음 리소스를 마이그레이션합니다.
- 마이그레이션 계획에 지정된 네임스페이스입니다.
네임스페이스가 지정된 리소스: MTC가 네임스페이스를 마이그레이션하면 서비스 또는 포드와 같은 해당 네임스페이스와 연결된 모든 오브젝트와 리소스가 마이그레이션됩니다. 또한 네임스페이스에 존재하지만 클러스터 수준에 없는 리소스가 클러스터 수준에 존재하는 리소스에 따라 달라지는 경우 MTC가 두 개의 리소스 모두를 마이그레이션합니다.
예를 들어 SCC(보안 컨텍스트 제약 조건)는 클러스터 수준에 존재하는 리소스이며, 서비스 계정(SA)은 네임스페이스 수준에 존재하는 리소스입니다. MTC가 마이그레이션하는 네임스페이스에 SA가 있는 경우 MTC는 SA에 연결된 모든 SCC를 자동으로 찾고 해당 SCC도 마이그레이션합니다. 마찬가지로 MTC는 네임스페이스의 영구 볼륨 클레임에 연결된 영구 볼륨을 마이그레이션합니다.
참고리소스에 따라 클러스터 범위 리소스를 수동으로 마이그레이션해야 할 수 있습니다.
- CR(사용자 정의 리소스) 및 CRD(사용자 정의 리소스 정의): MTC는 네임스페이스 수준에서 CR 및 CRD를 자동으로 마이그레이션합니다.
MTC 웹 콘솔을 사용하여 애플리케이션을 마이그레이션하는 데는 다음 단계가 포함됩니다.
모든 클러스터에 Migration Toolkit for Containers Operator를 설치합니다.
인터넷 액세스가 제한되거나 없는 제한된 환경에서 Migration Toolkit for Containers Operator를 설치할 수 있습니다. 소스 및 대상 클러스터는 상호 액세스 권한 및 미러 레지스트리에 대한 네트워크 액세스 권한이 있어야 합니다.
MTC가 데이터를 마이그레이션하는 데 사용하는 중간 오브젝트 스토리지인 복제 리포지토리를 구성합니다.
소스 및 대상 클러스터는 마이그레이션 중에 복제 리포지토리에 대한 네트워크 액세스 권한이 있어야 합니다. 프록시 서버를 사용하는 경우 복제 리포지토리와 클러스터 간의 네트워크 트래픽을 허용하도록 해당 서버를 구성해야 합니다.
- MTC 웹 콘솔에 소스 클러스터를 추가합니다.
- MTC 웹 콘솔에 복제 리포지토리를 추가합니다.
다음 데이터 마이그레이션 옵션 중 하나를 사용하여 마이그레이션 계획을 생성합니다.
복사: MTC는 소스 클러스터에서 복제 리포지토리로, 복제 리포지토리에서 대상 클러스터로 데이터를 복사합니다.
참고직접 이미지 마이그레이션 또는 직접 볼륨 마이그레이션을 사용하는 경우 소스 클러스터에서 대상 클러스터로 이미지 또는 볼륨이 직접 복사됩니다.
이동: MTC는 소스 클러스터에서 원격 볼륨(예: NFS)을 마운트 해제하고 원격 볼륨을 가리키는 대상 클러스터에 PV 리소스를 만든 다음 대상 클러스터에 원격 볼륨을 마운트합니다. 대상 클러스터에서 실행되는 애플리케이션은 소스 클러스터와 동일한 원격 볼륨을 사용합니다. 소스 및 대상 클러스터가 원격 볼륨에 액세스할 수 있어야 합니다.
참고이 다이어그램에는 복제 리포지토리가 나타나지 않지만 마이그레이션에는 필수입니다.
다음 옵션 중 하나를 사용하여 마이그레이션 계획을 실행합니다.
스테이지 (Stage)는 애플리케이션을 중지하지 않고 데이터를 대상 클러스터에 복사합니다.
스테이지 마이그레이션을 마이그레이션 전에 대부분의 데이터가 대상에 복사되도록 여러 번 실행할 수 있습니다. 하나 이상의 단계적 마이그레이션을 실행하면 컷오버 마이그레이션 기간이 단축됩니다.
컷오버 (Cutover)는 소스 클러스터에서 애플리케이션을 중지하고 리소스를 대상 클러스터로 이동합니다.
선택 사항: 마이그레이션 중에 소스 클러스터에서 트랜잭션 중지 확인란의 선택을 취소할 수 있습니다.
MTC 사용자 정의 리소스 정보
MTC(Migration Toolkit for Containers)는 다음과 같은 사용자 정의 리소스(CR)를 생성합니다.
MigCluster (구성, MTC 클러스터): 클러스터 정의
MigStorage (구성, MTC 클러스터): 스토리지 정의
MigPlan (구성, MTC 클러스터): 마이그레이션 계획
MigPlan
CR은 마이그레이션 중인 소스 및 대상 클러스터, 복제 리포지토리 및 네임스페이스를 설명합니다. 0, 1 또는 많은 MigMigration
CR과 연관됩니다.
MigPlan
CR을 삭제하면 연결된 MigMigration CR
이 삭제됩니다.
BackupStorageLocation (구성, MTC 클러스터): Velero
백업 오브젝트의 위치
VolumeSnapshotLocation (구성, MTC 클러스터): Velero
볼륨 스냅샷의 위치
MigMigration (작업, MTC 클러스터): 데이터를 준비하거나 마이그레이션할 때마다 마이그레이션이 생성됩니다. 각 MigMigration
CR은 MigPlan
CR과 연결되어 있습니다.
백업 (작업, 소스 클러스터): 마이그레이션 계획을 실행할 때 MigMigration
CR은 각 소스 클러스터에 두 개의 Velero
백업 CR을 생성합니다.
- Kubernetes 오브젝트의 백업 CR #1
- PV 데이터용 백업 CR #2
복원 (작업, 대상 클러스터): 마이그레이션 계획을 실행할 때 MigMigration
CR은 대상 클러스터에 두 개의 Velero
복원 CR을 생성합니다.
- PV 데이터에 대한 CR #1 복원(백업 CR #2 사용)
- Kubernetes 오브젝트에 대한 CR #2 복원(백업 CR #1 사용)