עדכוני תמונות אחרי ההעברה
בדף הזה מוסבר איך לבצע פעולות תחזוקה לעומסי העבודה שהועברו.
הארטיפקטים של הקונטיינר שאתם יוצרים לא מיועדים רק לפריסה של עומס העבודה שהועבר באשכול היעד. הן נדרשות גם לפעולות תחזוקה ביום השני, כולל החלת עדכוני תוכנה של מערכת ההפעלה במצב אפליקציה ובמצב משתמש, תיקוני אבטחה, עריכת הגדרות מוטמעות, הוספה או החלפה של קבצים ועדכון תוכנת זמן הריצה של Migrate to Containers.
בדיקת קובץ ה-Dockerfile של התמונה שנוצרה
פעולות התחזוקה משתמשות בקובץ Docker שנוצר ובשכבת קובץ אימג' של המערכת שצולמה. כשמשלבים את הקבצים האלה עם שכבת זמן הריצה של Migrate to Containers, אפשר ליצור מהם קובץ אימג' של קונטיינר שניתן להפעלה.
הארטיפקטים של הקונטיינרים שנוצרים מיועדים לשילוב עם שלב ה-build של פייפליין של 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.
בדוגמה הבאה אנחנו מעדכנים קובץ אימג' של קונטיינר שהועבר ממכונה וירטואלית של SUSE Enterprise Linux (SLES) כמקור, באמצעות Cloud Build וה-CLI של gcloud. בדוגמה הבאה מעדכנים את חבילת ההפצה של 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, צריך ליצור גרסה חדשה של תמונת קונטיינר של עומס עבודה ולהחיל אותה על פריסות קיימות כדי לעדכן אותה.