10.4.6. MTC API를 사용하여 Kubernetes 오브젝트의 상태 마이그레이션 수행
모든 PV 데이터를 마이그레이션한 후 MTC(Migration Toolkit for Containers) API를 사용하여 애플리케이션을 구성하는 Kubernetes 오브젝트의 일회성 상태 마이그레이션을 수행할 수 있습니다.
MigPlan 사용자 정의 리소스(CR) 필드를 구성하여 Kubernetes 리소스 목록을 추가 라벨 선택기와 함께 제공하여 이러한 리소스를 추가로 필터링한 다음 MigMigration CR을 생성하여 마이그레이션을 수행하여 수행합니다. MigPlan 리소스는 마이그레이션 후 종료됩니다.
Kubernetes 리소스를 선택하는 것은 API 전용 기능입니다. MigPlan CR을 업데이트하고 CLI를 사용하여 MigMigration CR을 생성해야 합니다. MTC 웹 콘솔은 Kubernetes 오브젝트 마이그레이션을 지원하지 않습니다.
마이그레이션 후 MigPlan CR의 closed 매개변수가 true로 설정됩니다. 이 MigPlan CR에 대해 다른 MigMigration CR을 생성할 수 없습니다.
다음 옵션 중 하나를 사용하여 MigPlan CR에 Kubernetes 오브젝트를 추가합니다.
-
Kubernetes 오브젝트를
includedResources섹션에 추가합니다.MigPlanCR에포함된Resources필드가 지정되면 계획에서group-kind목록을 입력으로 사용합니다. 목록에 있는 리소스만 마이그레이션에 포함됩니다. -
선택적
labelSelector매개변수를 추가하여MigPlan에포함된Resources를 필터링합니다. 이 필드를 지정하면 라벨 선택기와 일치하는 리소스만 마이그레이션에 포함됩니다. 예를 들어app: frontend레이블을 필터로 사용하여Secret및ConfigMap리소스 목록을 필터링할 수 있습니다.
절차
Kubernetes 리소스를 포함하도록
MigPlanCR을 업데이트하고, 선택적으로labelSelector매개변수를 추가하여 포함된 리소스를 필터링합니다.Kubernetes 리소스를 포함하도록
MigPlanCR을 업데이트하려면 다음을 수행합니다.apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: <migplan> namespace: openshift-migration spec: includedResources: - kind: <kind>1 group: "" - kind: <kind> group: ""- 1
- Kubernetes 오브젝트를 지정합니다(예:
Secret또는ConfigMap).
선택 사항:
labelSelector매개변수를 추가하여 포함된 리소스를 필터링하려면 다음을 수행합니다.apiVersion: migration.openshift.io/v1alpha1 kind: MigPlan metadata: name: <migplan> namespace: openshift-migration spec: includedResources: - kind: <kind>1 group: "" - kind: <kind> group: "" ... labelSelector: matchLabels: <label>2
선택한 Kubernetes 리소스를 마이그레이션하기 위해
MigMigrationCR을 생성합니다.migPlanRef:에서 올바른MigPlan이 참조되었는지 확인합니다.apiVersion: migration.openshift.io/v1alpha1 kind: MigMigration metadata: generateName: <migplan> namespace: openshift-migration spec: migPlanRef: name: <migplan> namespace: openshift-migration stage: false