11.6. OVA(Open Virtual Appliance) 소스 공급자에서 마이그레이션
CLI(명령줄 인터페이스)를 사용하여 VMware vSphere에서 소스 공급자로 생성한 OVA(Open Virtual Appliance) 파일에서 마이그레이션할 수 있습니다.
프로세스
소스 공급자 인증 정보에 대한
시크릿매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: <secret> namespace: <namespace> ownerReferences:1 - apiVersion: forklift.konveyor.io/v1beta1 kind: Provider name: <provider_name> uid: <provider_uid> labels: createdForProviderType: ova createdForResourceType: providers type: Opaque stringData: url: <nfs_server:/nfs_path>2 EOF
소스 공급자에 대한
공급자매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Provider metadata: name: <source_provider> namespace: <namespace> spec: type: ova url: <nfs_server:/nfs_path>1 secret: name: <secret>2 namespace: <namespace> EOF
NetworkMap매니페스트를 생성하여 소스 및 대상 네트워크를 매핑합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: NetworkMap metadata: name: <network_map> namespace: <namespace> spec: map: - destination: name: <network_name> type: pod1 source: id: <source_network_id>2 - destination: name: <network_attachment_definition>3 namespace: <network_attachment_definition_namespace>4 type: multus source: id: <source_network_id> provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> EOF
소스 및 대상 스토리지를 매핑하는
StorageMap매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: StorageMap metadata: name: <storage_map> namespace: <namespace> spec: map: - destination: storageClass: <storage_class> accessMode: <access_mode>1 source: name: Dummy storage for source provider <provider_name>2 provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> EOF선택 사항:
PlanCR에 지정된 단계에서 VM에서 사용자 정의 코드를 실행하려면후크매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Hook metadata: name: <hook> namespace: <namespace> spec: image: quay.io/kubev2v/hook-runner serviceAccount:<service account>1 playbook: | LS0tCi0gbm...2 EOF참고기본
hook-runner이미지를 사용하거나 사용자 정의 이미지를 지정할 수 있습니다. 사용자 지정 이미지를 지정하는 경우 플레이북을 지정할 필요가 없습니다.
다음 명령을 입력하여 MTV 마이그레이션에 사용되는 전송 네트워크의 네트워크 연결 정의(NAD)를 생성합니다.
이 정의를 사용하여 DHCP(Dynamic Host Configuration Protocol) 또는 정적에서 인터페이스의 IP 주소를 구성합니다.
IP 주소를 구성하면 인터페이스가 구성된 게이트웨이에 도달할 수 있습니다.
$ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit> apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: name: <name_of_transfer_network> namespace: <namespace> annotations: forklift.konveyor.io/route: <IP_address>마이그레이션을 위한
계획매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Plan metadata: name: <plan>1 namespace: <namespace> spec: provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> map:2 network:3 name: <network_map>4 namespace: <namespace> storage:5 name: <storage_map>6 namespace: <namespace> targetNamespace: <target_namespace> vms:7 - id: <source_vm1>8 - name: <source_vm2> hooks:9 - hook: namespace: <namespace> name: <hook>10 step: <step>11 EOF- 1
PlanCR의 이름을 지정합니다.- 2
- 계획당 하나의 네트워크 맵과 하나의 스토리지 맵만 지정합니다.
- 3
- 마이그레이션할 VM이 네트워크에 할당되지 않은 경우에도 네트워크 매핑을 지정합니다. 이 경우 매핑이 비어 있을 수 있습니다.
- 4
NetworkMapCR의 이름을 지정합니다.- 5
- 마이그레이션할 VM이 디스크 이미지로 할당되지 않은 경우에도 스토리지 매핑을 지정합니다. 이 경우 매핑이 비어 있을 수 있습니다.
- 6
StorageMapCR의 이름을 지정합니다.- 7
id또는name매개변수를 사용하여 소스 VM을 지정할 수 있습니다.- 8
- OVA VM UUID를 지정합니다.
- 9
- 선택 사항: VM에 대해 최대 두 개의 후크를 지정할 수 있습니다. 각 후크는 별도의 마이그레이션 단계에서 실행되어야 합니다.
- 10
HookCR의 이름을 지정합니다.- 11
- 허용되는 값은 마이그레이션 계획이 시작되기 전에
PreHook이거나마이그레이션이 완료된 후 postHook입니다.
PlanCR을 실행할마이그레이션매니페스트를 생성합니다.$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Migration metadata: name: <name_of_migration_cr> namespace: <namespace> spec: plan: name: <name_of_plan_cr> namespace: <namespace> cutover: <optional_cutover_time> EOF참고컷오버 시간을 지정하는 경우 UTC 시간 오프셋과 함께 ISO 8601 형식을 사용합니다(예:
2024-04-04T01:23:45.678+09:00).
11.6.1. 명령줄 인터페이스에서 마이그레이션 취소 링크 복사링크가 클립보드에 복사되었습니다!
CLI(명령줄 인터페이스)를 사용하여 마이그레이션이 진행되는 동안 전체 마이그레이션 또는 특정 VM(가상 머신) 마이그레이션을 취소할 수 있습니다.
전체 마이그레이션 취소
MigrationCR을 삭제합니다.$ oc delete migration <migration> -n <namespace>1 - 1
MigrationCR의 이름을 지정합니다.
특정 VM 마이그레이션 취소
마이그레이션매니페스트의spec.cancel블록에 특정 VM을 추가합니다.두 개의 VM 마이그레이션을 취소하는 YAML의 예
$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Migration metadata: name: <migration> namespace: <namespace> ... spec: cancel: - id: vm-1021 - id: vm-203 name: rhel8-vm EOF- 1
id키 또는name키를 사용하여 VM을 지정할 수 있습니다.
id키의 값은 RHV VM의 관리 오브젝트 참조, VMware VM 또는 VM UUID 입니다.MigrationCR을 검색하여 나머지 VM의 진행 상황을 모니터링합니다.$ oc get migration/<migration> -n <namespace> -o yaml