마이그레이션 후 이미지 업데이트

이 페이지에서는 이전된 워크로드의 유지보수 작업을 실행하는 방법을 설명합니다.

생성하는 컨테이너 아티팩트는 타겟 클러스터에 마이그레이션된 워크로드를 배포하는 용도로만 사용되지 않습니다. 애플리케이션 및 사용자 모드 OS 소프트웨어 업데이트, 보안 패치, 삽입된 구성 수정, 파일 추가 또는 교체, Migrate to Containers 런타임 소프트웨어 업데이트 등의 2일차 유지보수 작업에도 필요합니다.

생성된 이미지 Dockerfile 검토

유지보수 작업은 생성된 Dockerfile과 캡처된 시스템 이미지 레이어를 사용합니다. 이들을 Migrate to Containers 런타임 레이어와 결합하여 실행 가능한 컨테이너 이미지에서 기본 제공할 수 있습니다.

생성된 컨테이너 아티팩트는 다음 다이어그램에 설명된 대로 CI/CD 파이프라인 빌드 단계 통합을 염두에 두고 만들어졌습니다.

Migrate to Containers를 사용하는 애플리케이션 리플랫폼을 위한 자동화된 CI/CD 흐름

Dockerfile은 이미지 확장을 막으면서 더 쉽게 유지보수 및 조작을 수행할 수 있도록 다단계 빌드로 구성되어 있습니다.

다음은 생성된 Dockerfile의 샘플입니다.

FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.3 as service-manager-runtime

FROM scratch

# Tar containing data captured from the source VM
ADD vmFiles.tar.gz /

COPY --from=service-manager-runtime / /

ADD blocklist.yaml /.m4a/blocklist.yaml

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

ADD services-config.yaml /.m4a/

ADD tempfiles.yaml /.m4a/

# 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

ENTRYPOINT ["/ko-app/service-manager-runtime", "start", "-c", "/.m4a/"]

Cloud Build를 사용한 컨테이너 이미지 빌드에 대한 자세한 내용은 컨테이너 이미지 빌드를 참조하세요.

마이그레이션된 워크로드 구성요소 레이어 업데이트

마이그레이션된 워크로드 이미지 레이어에 적용할 업데이트 또는 수정 사항은 ENTRYPOINT 지시문 전에 적용해야 합니다.

다음 예시에서는 Cloud Build와 gcloud CLI를 사용하여 SLES(SUSE Enterprise Linux) VM에서 마이그레이션된 컨테이너 이미지를 업데이트합니다. 다음 예에서는 SLES 배포 openssh 패키지를 업데이트합니다.

업데이트된 Dockerfile:

FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.3 as service-manager-runtime

FROM scratch

# Tar containing data captured from the source VM
ADD vmFiles.tar.gz /

COPY --from=service-manager-runtime / /

ADD blocklist.yaml /.m4a/blocklist.yaml

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

ADD services-config.yaml /.m4a/

ADD tempfiles.yaml  /.m4a/

# 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

RUN zypper ref -s && zypper -n in openssh

ENTRYPOINT ["/ko-app/service-manager-runtime", "start", "-c", "/.m4a/"]

그런 다음 업데이트된 이미지를 클러스터에 배포합니다.

Migrate to Containers 레이어 버전 업데이트

Migrate to Containers 소프트웨어의 새 버전이 출시되면 배포된 워크로드 이미지에서 해당 소프트웨어 버전을 업데이트할 수 있습니다. 이러한 업데이트에는 새로운 기능, 개선 사항 또는 버그 수정이 포함될 수 있습니다.

Migrate to Containers 소프트웨어 레이어를 업데이트하려면 Dockerfile을 수정하고 버전 태그를 적용하려는 업데이트된 버전으로 변경합니다.

이전 예시를 사용하여 버전 1.0.3을 가상 버전 1.0.4로 업데이트하려면 다음과 같이 FROM 지시문을 수정합니다.

FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.4 as service-manager-runtime

Dockerfile을 업데이트한 후에는 새 워크로드 컨테이너 이미지 버전을 빌드하고 기존 배포에 적용하여 업데이트해야 합니다.

다음 단계