Pembaruan gambar pascamigrasi

Halaman ini menjelaskan cara melakukan operasi pemeliharaan untuk beban kerja yang dimigrasikan.

Artefak container yang Anda buat tidak hanya ditujukan untuk deployment workload yang dimigrasikan di cluster target. Anda juga memerlukannya untuk operasi pemeliharaan Hari 2, termasuk menerapkan update software OS mode pengguna dan aplikasi, patch keamanan, mengedit konfigurasi tersemat, menambahkan atau mengganti file, dan untuk mengupdate software runtime Migrasi ke Container.

Meninjau Dockerfile image yang dihasilkan

Operasi pemeliharaan menggunakan Dockerfile yang dihasilkan dan lapisan image sistem yang diambil. Jika digabungkan dengan lapisan runtime Migrate to Containers, file ini dapat di-build menjadi image container yang dapat dieksekusi.

Artefak penampung yang dihasilkan dibuat dengan mempertimbangkan integrasi fase build pipeline CI/CD, seperti yang dijelaskan dalam diagram berikut:

Alur CI/CD otomatis untuk replatforming aplikasi menggunakan Migrate to Containers

Dockerfile disusun sebagai build multi-tahap, untuk memudahkan pemeliharaan dan manipulasi, sekaligus mencegah image mengembang.

Berikut adalah contoh Dockerfile yang dihasilkan:

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/"]

Untuk mengetahui informasi selengkapnya tentang cara mem-build image container dengan Cloud Build, lihat Mem-build image container.

Memperbarui lapisan komponen workload yang dimigrasikan

Untuk pembaruan atau perubahan apa pun yang ingin diterapkan ke lapisan gambar workload yang dimigrasikan, Anda harus menerapkannya sebelum perintah ENTRYPOINT.

Dalam contoh berikut, kita akan mengupdate image container yang dimigrasikan dari VM SUSE Enterprise Linux (SLES) sebagai sumber, menggunakan Cloud Build dan gcloud CLI. Contoh berikut mengupdate paket openssh distro SLES.

Dockerfile yang diperbarui:

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/"]

Kemudian, deploy image yang telah diupdate ke cluster.

Mengupdate versi lapisan Migrate to Containers

Saat software Migrate to Containers versi baru dirilis, Anda dapat mengupdate versi software tersebut di image workload yang di-deploy. Update tersebut dapat menyertakan fitur baru, peningkatan, atau perbaikan bug.

Untuk mengupdate lapisan software Migrate to Containers, edit Dockerfile dan ubah tag versi ke versi yang diperbarui yang ingin Anda terapkan.

Dengan menggunakan contoh sebelumnya, Anda dapat mengupdate versi dari 1.0.3 ke versi hipotetis 1.0.4 dengan mengedit perintah FROM menjadi berikut:

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

Setelah mengupdate Dockerfile, Anda harus mem-build versi image penampung beban kerja baru dan menerapkannya ke deployment yang ada untuk mengupdatenya.

Langkah selanjutnya