생성된 배포 파일 검토

처리 클러스터를 사용하여 워크로드 마이그레이션을 완료한 후에는 마이그레이션 중에 생성된 YAML 파일을 다운로드할 수 있습니다.

마이그레이션 아티팩트라고도 하는 이러한 파일은 마이그레이션된 워크로드 컨테이너를 테스트 또는 프로덕션 클러스터와 같은 다른 클러스터에 배포할 수 있도록 생성되었습니다.

이 주제에서는 생성된 아티팩트 파일을 다운로드하고 다른 클러스터에서 사용할 수 있도록 검토하는 방법을 설명합니다.

시작하기 전에

생성된 아티팩트 파일 정보

마이그레이션 중에 생성되는 아티팩트 파일에는 다음이 포함됩니다.

  • deployment_spec.yaml -- 워크로드를 구성하는 YAML 파일입니다.

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

  • Dockerfile -- 마이그레이션된 VM의 이미지를 빌드하기 위해 사용되는 Dockerfile입니다.

  • blocklist.yaml -- 마이그레이션 계획에서 설정에 따라 사용 중지할 컨테이너 서비스 목록입니다. 이 파일을 수정하여 서비스 목록을 제어합니다. 서비스 목록 맞춤설정을 참조하세요.

  • migration.yaml -- 마이그레이션 계획의 사본입니다.

    이 파일을 사용하여 마이그레이션 중에 수행된 작업을 확인할 수 있습니다.

  • logs.yaml -- 소스 VM에서 검색된 로그 파일 목록입니다. 마이그레이션된 워크로드에서 로그 파일에 기록된 데이터가 Cloud Logging으로 전달됩니다. 이 파일을 수정하여 로그 쓰기를 제어합니다. Cloud Logging에 기록된 로그 데이터 맞춤설정을 참조하세요.

이러한 파일은 아래에 자세히 설명되어 있습니다.

모든 아티팩트 파일 다운로드

migctl

마이그레이션이 완료되고 상태 요청을 수행하면 다음과 같은 메시지가 표시됩니다.

migctl migration status my-migration

NAME            CURRENT-OPERATION       PROGRESS        STEP            STATUS    AGE
my-migration    GenerateArtifacts       [1/1]           ExtractImage    Completed 14m23s

마이그레이션이 완료되면 migctl migration get-artifacts로 생성된 모든 아티팩트 파일이 다운로드됩니다.

migctl migration get-artifacts my-migration

Console

마이그레이션이 완료되면 마이그레이션 상태 열에 아티팩트 생성됨이 표시됩니다. 모든 마이그레이션 아티팩트를 다운로드하려면 다음 안내를 따르세요.

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

    Migrate to Containers 페이지로 이동

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

  3. 원하는 마이그레이션 행에서 마이그레이션 이름을 클릭합니다. VM에 대한 마이그레이션 세부정보 탭이 열립니다.

  4. 아티팩트 탭을 선택합니다.

  5. Docker 파일, 배포 사양, 기타 아티팩트를 선택하여 아티팩트가 포함된 Cloud Storage 버킷을 엽니다.

  6. 모든 파일을 선택한 후 다운로드를 선택합니다.

CRD

마이그레이션이 완료되면 모든 마이그레이션 아티팩트를 다운로드합니다.

  1. 아티팩트를 포함하는 Cloud Storage 버킷을 가져옵니다.

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

    이 명령어는 버킷 이름을 다음 형식으로 반환합니다.

    bucket-migration-artifacts
  2. Cloud Storage 마이그레이션 매니페스트 YAML 파일을 가져옵니다.

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

    이 명령어는 매니페스트 YAML 파일 이름을 다음 형식으로 반환합니다.

    bucket-migration-artifacts/v2k-system-my-migration/ID/manifest.yaml
  3. Google Cloud 콘솔에서 Cloud Storage로 이동하여 매니페스트 파일을 가져옵니다. 아래의 예시 매니페스트 파일에는 artifacts URL이 포함되어 있습니다.

    artifacts:
     - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/deployment_spec.yaml
     - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/Dockerfile
     - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/migration.yaml
    imageUrl: gcr.io/velos-auto-1/matanvm:v1.0.0
    name: m1-84xqp
    namespace: v2k-system
    uid: daf762-d9-42-bfc-47b71255a
    version: "1.0"
  4. 브라우저에서 artifacts URL을 열고 아티팩트를 다운로드합니다.

deployment_spec.yaml

이 파일은 테스트 또는 프로덕션 클러스터와 같이 다른 클러스터로 워크로드를 배포하기 위해 사용할 수 있는 YAML 파일입니다. 데이터 마이그레이션을 구성하지 않으면 배포 객체가 생성됩니다. 데이터 마이그레이션이 구성되면 스테이트풀(Stateful) 세트 객체를 생성합니다.

Dockerfile

마이그레이션된 VM의 이미지를 빌드하기 위해 사용되는 Dockerfile입니다.

새 버전의 이미지를 생성하려면 이 파일을 사용합니다. 예를 들어 패키지를 설치하고 이후에 새 이미지를 캡처할 수 있습니다. 이미지를 다시 빌드하는 방식은 Migrate to Containers가 업그레이드되어(버그 수정 등) 새 Migrate to Containers 런타임으로 이미지를 다시 빌드해야 할 경우에도 유용할 수 있습니다. 업그레이드된 런타임은 Container Registry에서 사용할 수 있습니다.

다른 Dockerfile과 마찬가지로 이 파일을 수정해서 이미지를 맞춤설정할 수 있습니다. 자세한 내용은 Dockerfile 작성 권장사항을 참조하세요. 또한 Dockerfile 수정에 대한 자세한 내용은 마이그레이션 후 이미지 업데이트를 참조하세요.

# Please refer to the documentation:
# https://cloud.google.com/migrate/containers/docs/dockerfile-reference

FROM gcr.io/my-project/v2k-run-embedded:v1.12.0

# Image containing data captured from the source VM
FROM gcr.io/my-project/my-vm-instance-1-non-runnable-base:v1.0.0 as source-content

COPY --from=migrate-for-anthos-runtime / /

ADD blocklist.yaml /.m4a/blocklist.yaml

ADD logs.yaml /code/config/logs/logsArtifact.yaml

# If you want to update parts of the image, add your commands here.
# For example:
# RUN apt-get update
# RUN apt-get install -y \
#       package1=version \
#       package2=version \
#       package3=version
# RUN yum update
# RUN wget http://github.com

# Migrate to Containers image includes entrypoint
ENTRYPOINT [ "/.v2k.go" ]

migration.yaml

이 파일은 생성된 마이그레이션의 사본입니다. 이 파일을 사용하여 Migrate to Containers에 사용되는 마이그레이션 세부정보가 마이그레이션 계획에 지정된 것과 일치하는지 확인합니다.

이 파일을 마이그레이션 재실행 용도로 사용해서는 안 됩니다. 마이그레이션을 실행한 후에는 실행한 다음에는 마이그레이션을 삭제하고(migctl migration delete 또는 Google Cloud Console 사용) 마이그레이션 계획으로부터 다시 실행하는 방식으로만 재실행할 수 있습니다.

blocklist.yaml

이 파일에는 마이그레이션 계획의 설정에 따라 사용 중지할 컨테이너 서비스 목록이 나와 있습니다. 이 파일 사용에 대한 자세한 내용은 서비스 목록 맞춤설정을 참조하세요.

다음 단계