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:
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
- Pelajari cara memantau workload yang dimigrasikan.