마이그레이션 계획 만들기
마이그레이션을 만들어 VM 마이그레이션을 시작합니다. 이렇게 하면 마이그레이션 계획 객체가 생성됩니다. 일반적으로 마이그레이션을 실행하기 전에 생성된 계획을 추가로 검토하고 맞춤설정해야 합니다.
마이그레이션은 migctl
및 Google Cloud 콘솔을 사용해서 마이그레이션 작업을 수행하고, 마이그레이션 작업 및 상태를 모니터링하는 중앙 객체입니다. 마이그레이션 객체는 Kubernetes 커스텀 리소스 정의(CRD)로 구현되며 마이그레이션 계획의 Kubernetes PersistentVolumeClaim
과 같은 추가 리소스와 함께 포함됩니다.
시작하기 전에
- 마이그레이션 소스 추가
- 다음 섹션의 설명대로 가상 머신(VM) 인스턴스 ID를 찾습니다.
- Compute Engine을 마이그레이션 소스로 사용하는 경우 마이그레이션을 만들기 전 소스 VM을 중지합니다. 마이그레이션 객체가 생성된 후 VM을 다시 시작할 수 있습니다.
VM ID 찾기
VM ID를 찾으려면 VM 인벤토리를 탐색하거나 소스 유형에 따라 수동으로 찾습니다.
VM 인벤토리를 사용하여 ID 찾기
migctl
을 사용하는 경우 다음 명령어를 실행하여 VM 목록을 확인할 수 있습니다.migctl source list-vms <name> [ --refresh ] [ --wide ]
Google Cloud 콘솔을 사용하는 경우 소스 유형으로 이동하면 해당 유형의 모든 VM이 나열된 테이블을 찾을 수 있습니다.
수동으로 ID 찾기
소스 유형에 따라 수동으로 VM ID를 찾을 수 있습니다.
Compute Engine
vmId
- Google Cloud 콘솔에 표시되는 VM의 이름입니다.
VMware
vmId
- 소스 플랫폼에서 알려진 대로 마이그레이션할 VM의 ID 또는 이름입니다. 다음 값 중 하나를 사용할 수 있습니다.VM 이름. VMware 배포 전체에서 각 VM 이름이 고유하다고 확신하는 경우 간단히 VM 이름을 사용하면 됩니다. VM 이름이 중복될 수 있는 경우 아래에 설명 된 대로 VM ID를 사용합니다.
다음 이미지와 같이 vSphere 웹 클라이언트에서 VM 이름을 가져올 수 있습니다.
vSphere의 VM ID(MoRef라고도 함). VM을 선택할 때 vSphere 웹 클라이언트의 URL에서 볼 수 있습니다.
PowerCLI를 사용하여 MoRef를 찾을 수도 있습니다.
이름 지정 요구사항
Migrate to Containers에 마이그레이션을 생성할 때 마이그레이션에 이름을 할당합니다. 이름은 다음 요구사항을 충족해야 합니다.
- 63자(영문 기준) 이하여야 합니다.
- 소문자 영숫자 문자 또는 '-'(하이픈)만 포함해야 합니다.
- 영숫자 문자로 시작해야 합니다.
- 영숫자 문자로 끝나야 합니다.
지원되는 워크로드
이전 생성
Linux 및 Windows 워크로드
migctl
도구 또는 Google Cloud 콘솔을 사용하여 마이그레이션을 만듭니다.
migctl
VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source
my-src --vm-idmy-id --typeserver-type 여기서
--vm-id
는 소스 유형 콘솔에 표시된 VM 인스턴스의 이름을 지정합니다. 여기서--type
은--type=windows-iis-container
또는linux-system-container
입니다.
콘솔
마이그레이션 소스가 Compute Engine VM이면 Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.
마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.
마이그레이션 만들기를 클릭합니다.
마이그레이션 이름을 입력합니다.
마이그레이션 소스 추가에서 만든 마이그레이션 소스를 선택합니다.
이미지 유형 시스템 컨테이너 또는 Windows IIS 컨테이너로 워크로드 유형을 설정합니다.
소스 VM ID를 입력합니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.
마이그레이션 만들기를 클릭합니다.
마이그레이션이 완료되면 상태 열에 마이그레이션 계획 생성됨이 표시됩니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서
sourceProviderRef
아래의name
필드는 이전에 생성된 SourceProvider 이름을 지정하고sourceId
필드는 Compute Engine 인스턴스 이름을 지정합니다.Type
은--type=windows-iis-container
또는linux-system-container
가 됩니다.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: linux-system-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
Tomcat 워크로드
Tomcat 매개변수 지정
CATALINA_BASE
및 CATALINA_HOME
값을 수동으로 지정해야 합니다.
migctl
Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source my-ce-src --vm-id my-id --type tomcat-container --parameters catalina-base=/catalina/base/path1:/catalina/base/path2,catalina-home=/catalina/home/path/,java-version=11
--vm-id
는 서비스 콘솔에 표시된 대로 인스턴스의 이름을 지정합니다.catalina-base
는 콜론으로 구분된CATALINA_BASE
값 목록을 지정합니다.catalina-home
은CATALINA_HOME
값을 지정합니다.java-version
은 컨테이너에서 사용할 Java 버전을 지정하는 선택적 매개변수입니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서 다음 필드를 설정합니다.
sourceProvider
: 이전에 만든 SourceProvider의 이름을 지정합니다.sourceId
: Compute Engine VM 인스턴스의 이름을 지정합니다.parameters
: Tomcat 워크로드와 관련된 매개변수를 설정합니다.
다음은 이러한 필드 값이 설정된 마이그레이션 파일의 예시입니다.
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: tomcat-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: catalina-base value: /opt/tomcat - name: catalina-home value: /opt/tomcat
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
Websphere Traditional 워크로드
WAS_HOME 지정
WAS_HOME
환경 변수는 /opt/IBM/WebSphere/AppServer/
와 같이 WAS 기존 항목이 설치된 위치를 지정합니다. Migrate to Containers는 앱 관련 정보를 가져오는 스크립트를 실행하고 앱 프로필 경로를 결정하기 위해 마이그레이션을 만들 때 이 값을 사용합니다. Migrate to Containers가 설치 폴더를 찾지 못하는 경우 WAS_HOME
값을 설정할 수 있습니다.
migctl
VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source
my-was-src --vm-idmy-id --type websphere-traditional-container --parameters was-home=/opt/IBM/WebSphere/AppServer/ 여기서
--vm-id
는 서비스 콘솔에 표시된 대로 인스턴스의 이름을 지정합니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서 다음 필드를 설정합니다.
sourceProvider
: 이전에 만든 SourceProvider의 이름을 지정합니다.sourceId
: Compute Engine VM 인스턴스의 이름을 지정합니다.parameters
: WebSphere 워크로드와 관련된 매개변수를 설정합니다.
다음은 이러한 필드 값이 설정된 마이그레이션 파일의 예시입니다.
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: websphere-traditional-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: was_home value: /opt/IBM/WebSphere/AppServer/
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
JBoss 워크로드
migctl
도구 또는 Google Cloud 콘솔을 사용하여 마이그레이션을 만듭니다.
migctl
VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source
my-src --vm-idmy-id --type=jboss-container --parameters jboss-home=/opt/jboss 여기서
--vm-id
는 소스 유형 콘솔에 표시된 VM 인스턴스의 이름을 지정합니다.
콘솔
마이그레이션 소스가 Compute Engine VM이면 Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.
마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.
마이그레이션 만들기를 클릭합니다.
마이그레이션 이름을 입력합니다.
마이그레이션 소스 추가에서 만든 마이그레이션 소스를 선택합니다.
워크로드 유형을 JBoss 컨테이너로 설정합니다.
소스 인스턴스 이름을 입력합니다. 인스턴스 이름 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.
JBOSS_HOME 매개변수를 설정하고 JBoss 설치 경로를 사용합니다.
마이그레이션 만들기를 클릭합니다.
마이그레이션이 완료되면 상태 열에 마이그레이션 계획 생성됨이 표시됩니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서
sourceProviderRef
아래의name
필드는 이전에 생성된 SourceProvider 이름을 지정하고sourceId
필드는 Compute Engine 인스턴스 이름을 지정합니다.type
필드에jboss-container
를 입력합니다.discoveryParameters
아래에 검색 매개변수 목록을 추가할 수 있습니다. 각discoveryParameters
매개변수에는name
과value
라는 2가지 속성이 있습니다. JBoss 마이그레이션을 만드는 경우value
값으로 JBoss 홈 경로를 지정하는jboss-home
이라는discoveryParameters
매개변수가 필수입니다.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: jboss-container2 discoveryParameters: - name: jboss-home value: /path-to-jboss-home sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
Apache 워크로드
migctl
도구 또는 Google Cloud 콘솔을 사용하여 마이그레이션을 만듭니다.
migctl
VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source
my-src --vm-idmy-id --type=apache-container여기서
--vm-id
는 소스 유형 콘솔에 표시된 VM 인스턴스의 이름을 지정합니다.
콘솔
마이그레이션 소스가 Compute Engine VM이면 Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.
마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.
마이그레이션 만들기를 클릭합니다.
마이그레이션 이름을 입력합니다.
마이그레이션 소스 추가에서 만든 마이그레이션 소스를 선택합니다.
워크로드 유형을 Apache 컨테이너로 설정합니다.
소스 VM ID를 입력합니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.
마이그레이션 만들기를 클릭합니다.
마이그레이션이 완료되면 상태 열에 마이그레이션 계획 생성됨이 표시됩니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서
sourceProviderRef
아래의name
필드는 이전에 생성된 SourceProvider 이름을 지정하고sourceId
필드는 Compute Engine 인스턴스 이름을 지정합니다.type
필드에apache-container
를 입력합니다.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: apache-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
WordPress 워크로드
migctl
도구 또는 Google Cloud 콘솔을 사용하여 마이그레이션을 만듭니다.
migctl
VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
마이그레이션을 만듭니다.
migctl migration create my-migration --source
my-src --vm-idmy-id --type=wordpress-container여기서
--vm-id
는 소스 유형 콘솔에 표시된 VM 인스턴스의 이름을 지정합니다.
콘솔
마이그레이션 소스가 Compute Engine VM이면 Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.
마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.
마이그레이션 만들기를 클릭합니다.
마이그레이션 이름을 입력합니다.
마이그레이션 소스 추가에서 만든 마이그레이션 소스를 선택합니다.
워크로드 유형을 WordPress 컨테이너로 설정합니다.
소스 VM ID를 입력합니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.
마이그레이션 만들기를 클릭합니다.
마이그레이션이 완료되면 상태 열에 마이그레이션 계획 생성됨이 표시됩니다.
CRD
마이그레이션을 정의하려면
my-migration.yaml
이라는 마이그레이션 파일을 만듭니다.이 파일에서
sourceProviderRef
아래의name
필드는 이전에 생성된 SourceProvider 이름을 지정하고sourceId
필드는 Compute Engine 인스턴스 이름을 지정합니다.type
필드에wordpress-container
를 입력합니다.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: wordpress-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.
파일을 적용합니다.
kubectl apply -f my-migration.yaml
마이그레이션 만들기 모니터링
migctl
도구나 Google Cloud 콘솔을 사용하여 마이그레이션 생성 진행 상황을 모니터링합니다.
migctl
마이그레이션 생성 단계가 종료될 때까지 기다립니다.
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateMigrationPlan [1/3] CreateSourceSnapshots Running 13s
Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 이 단계 후에는 중지된 VM이 필요하지 않습니다.
콘솔
마이그레이션 상태에 마이그레이션이 표시되면 다음 단계로 넘어갈 수 있습니다.
Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.
마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.
다음 방법으로 마이그레이션 상태를 확인합니다.
마이그레이션 행의 상태 열을 봅니다.
마이그레이션 이름을 클릭합니다. 마이그레이션 세부정보 페이지가 열립니다. 모니터링 탭을 클릭하여 자세한 상태를 보거나 이벤트 탭을 클릭하여 마이그레이션 이벤트를 봅니다.
마이그레이션이 완료되면 상태에 마이그레이션 계획 생성됨이 표시됩니다.
Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 이 단계 후에는 중지된 VM이 필요하지 않습니다.
CRD
kubectl
을 사용하여 필요한 필드에 JSONPath를 지정하여 MigrationStatus 정보 및 상태를 가져옵니다.
마이그레이션 생성 단계가 종료될 때까지 기다립니다.
kubectl wait
명령어 두 개를 사용합니다. 하나는 'Ready' 조건을 대기하고 다른 하나는 'Failed' 조건을 기다립니다. 첫 번째 조건이 충족될 때까지 마이그레이션 계획 생성 단계가 실행됩니다.unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]} kill ${pids[@]/$met_pid} # terminate the process that did not complete.
대기 명령어가 완료되면 작업이 완료된 것이므로 다음 단계로 이동할 수 있습니다.
마이그레이션 계획 상태를 가져옵니다.
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration
마이그레이션 계획이 준비되면
True
를 반환하고 실패한 경우False
를 반환합니다.마이그레이션 생성 단계가 실패하면 다음 명령어를 사용하여 오류 메시지를 가져옵니다.
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration
Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 이 단계 후에는 중지된 VM이 필요하지 않습니다.
다음 단계
- 데이터 마이그레이션 방법 알아보기