마이그레이션 실행

대상 컨테이너 아티팩트를 생성하고 Migrate to Containers를 설치할 때 만든 처리 클러스터를 사용하여 컨테이너 아티팩트를 추출하는 명령어로 VM 마이그레이션을 시작합니다.

이 주제에서는 다음 작업을 위한 마이그레이션을 실행하는 방법을 설명합니다.

  • VM에서 컨테이너 이미지 및 데이터 볼륨(스테이트풀(Stateful) 워크로드용)으로 워크로드 아티팩트를 추출합니다.
  • VM의 컨테이너 이미지를 Container Registry에 복사합니다.
  • 프로덕션 배포를 위해 사용할 수 있는 마이그레이션 배포 아티팩트를 생성합니다.

이 단계가 완료되었으면 다음을 수행할 수 있습니다.

  • 처리 클러스터에서 이미지 및 데이터 볼륨(스테이트풀(Stateful) 워크로드)을 테스트합니다.

    이미지를 개별 클러스터에 아직 배포하지 않았지만 실행 및 테스트 가능한 상태입니다. 마이그레이션이 완료되면 이미지가 소스 VM에 연결되지 않습니다.

  • 이미지 및 데이터 볼륨(스테이트풀(Stateful) 워크로드)을 다른 클러스터에 배포합니다.

시작하기 전에

성공하려면 먼저 다음을 수행해야 합니다.

마이그레이션 실행 및 아티팩트 생성

migctl migration generate-artifacts 명령어 또는 Google Cloud console을 사용하여 마이그레이션할 VM 처리 중 대상 컨테이너 아티팩트를 생성합니다.

migctl

  1. 마이그레이션을 실행합니다.

    migctl migration generate-artifacts my-migration
  2. 마이그레이션 상태를 가져옵니다.

    migctl migration status my-migration

콘솔

  1. Google Cloud 콘솔에서 Migrate to Containers 페이지를 엽니다.

    Migrate to Containers 페이지로 이동

  2. 마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.

  3. 원하는 마이그레이션 행의 다음 단계 드롭다운에서 아티팩트 생성을 선택합니다.

  4. 다음 방법으로 마이그레이션 상태를 확인합니다.

    • 마이그레이션 행의 상태 열을 봅니다.

    • 마이그레이션 이름을 클릭합니다. 마이그레이션 세부정보 탭이 열립니다. 모니터링 탭을 클릭하여 자세한 상태를 보거나 이벤트 탭을 클릭하여 마이그레이션 이벤트를 봅니다.

  5. 마이그레이션의 상태아티팩트 생성됨이면 다음 단계로 이동할 수 있습니다.

CRD

Linux, Windows, Tomcat

  1. 마이그레이션을 만들 때 Migration yaml에 지정된 이름을 사용하여 AppXGenerateArtifactsFlow의 이름을 가져옵니다.

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. AppXGenerateArtifactsTask my-generate.yaml 파일을 만들어 아티팩트 생성 작업을 정의합니다.

    이 파일에서 migration은 마이그레이션을 만들 때 마이그레이션 이름을 지정하고 flow는 이전 단계에서 가져온 마이그레이션의 AppxGenerateArtifactsFlow를 나타냅니다.

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. 파일을 적용합니다.

    kubectl apply -f my-generate.yaml

워크로드의 아티팩트를 생성하면 Migrate to Containers에서 아티팩트를 작성한 후 Cloud Storage 버킷으로 업로드합니다. 아티팩트 디렉터리 파일에는 다음이 포함됩니다.

  • Dockerfile - 마이그레이션된 VM의 이미지를 빌드하는 데 사용되는 Dockerfile입니다.
  • deployment_spec.yaml - 워크로드를 구성하는 YAML 파일입니다.
  • secrets.yaml - 민감한 정보가 포함된 보안 비밀 YAML 파일이 아티팩트 디렉터리에 추가될 수도 있습니다.

    kubectl apply에 이 파일을 사용하여 프로덕션 또는 테스트 클러스터와 같은 클러스터에 워크로드를 배포할 수 있습니다.

  • 소스에서 추출되고 Dockerfile에서 사용하는 디렉터리와 파일입니다.

생성된 아티팩트 다운로드

이 중첩된 디렉터리에 생성된 컨테이너 아티팩트를 다운로드하려면 다음 명령어를 실행합니다.

migctl migration get-artifacts my-migration

플러그인 및 마이그레이션 계획에 따라 생성된 아티팩트에는 컨테이너 이미지를 빌드하기 위한 하나 이상의 Dockerfile과 하나 이상의 Kubernetes 배포 사양이 포함됩니다.

또한 Migrate to Containers는 생성된 모든 이미지를 한 번에 빠르게 빌드하고 배포하는 데 사용할 수 있는 Skaffold 구성을 생성합니다.

다음 단계