סביבת זמן ריצה חדשה ומשופרת

מנהל השירות המקורי של Linux ב-Migrate to Containers הסתמך על sysv init ועל systemd. מנהל השירותים של Linux בגרסה המפושטת מחליף אותו בחלופה מפושטת וידידותית לקונטיינרים.

מנהל שירותי Linux הפשוט הזה מוסיף פונקציונליות שמאפשרת לפרוס את עומסי העבודה של הקונטיינרים שהועברו אל:

  • אשכולות GKE Autopilot

  • Cloud Run

מנהל השירותים הפשוט של Linux פותר גם בעיות תאימות לתוספים של Kubernetes. לדוגמה, מנהל השירותים הפשוט של Linux מסיר את הדרישה להגדיר hostpath עבור /sys/fs/cgroup בקובץ deployment_spec.yaml, ואת הצורך ליצור קונטיינרים עם הרשאות.

לפני שמתחילים

  • ‫Migrate to Containers מספק כלי שמריצים על עומס עבודה (workload) של מכונה וירטואלית כדי לקבוע את ההתאמה של עומס העבודה להעברה לקונטיינר. מידע נוסף מופיע במאמר בנושא שימוש בכלי להערכת ההתאמה.

מידע על אשכולות GKE Autopilot

‫Autopilot הוא מצב פעולה ב-Google Kubernetes Engine‏ (GKE). התכונה Autopilot מיועדת לצמצום העלות התפעולית של ניהול אשכולות, לאופטימיזציה של האשכולות לצורך ייצור ולשיפור הזמינות של עומסי העבודה. במצב Autopilot, ‏ GKE מספק ומנהל את התשתית הבסיסית של האשכול, כולל צמתים ומאגרי צמתים, וכך מאפשר לכם ליהנות מאשכול אופטימלי עם חוויה אוטומטית.

פרטים נוספים זמינים במאמר סקירה כללית על Autopilot.

מידע על Cloud Run

Cloud Run היא פלטפורמת מחשוב מנוהלת שמאפשרת להריץ קונטיינרים בלי שמירת מצב שאפשר להפעיל באמצעות בקשות אינטרנט או אירועי Pub/Sub. מנהל השירותים הפשוט של Linux מאפשר לכם לפרוס את עומסי העבודה של הקונטיינרים שהועברו ב-Cloud Run.

שימוש ב-Workload Identity עם Migrate to Containers ו-GKE

בעזרת Migrate to Containers ו-GKE אפשר לפרוס את עומסי העבודה שהועברו אל Google Distributed Cloud. לפעמים, יכול להיות שתשתמשו באותו אשכול גם כאשכול העיבוד וגם כאשכול הפריסה. אם הפעלתם Workload Identity באשכול הפריסה, אתם צריכים לוודא שהגדרתם את סביבת הפריסה כך שתתמוך ב-Migrate to Containers וב-GKE.

בנוסף, צריך לוודא שכל השירותים שהופעלו כחלק מתהליך ההפעלה מוגדרים בצורה נכונה לשימוש בזהויות של עומסי עבודה. השלבים שצריך לבצע תלויים במנהל השירות של האשכול. במאמר פריסת עומס עבודה של Linux באשכול יעד מפורטים שלבי ההגדרה.

שינויים מהזמן שחלף מאז ההפעלה

כדי להשתמש במנהל השירותים הפשוט של Linux, חשוב להכיר את השינויים והמגבלות הבאים בהשוואה לסביבת זמן הריצה הקיימת.

נוסף קובץ ארטיפקט חדש בשם services-config.yaml

אם מפעילים את מנהל השירותים הפשוט של Linux, הכלי Migrate to Containers יוצר קובץ ארטיפקט חדש, services-config.yaml, כשיוצרים את הארטיפקטים של ההעברה. אפשר להשתמש בקובץ הזה כדי לשלוט באתחול האפליקציה במאגר שהופעל. מידע נוסף זמין במאמר שימוש בקובץ services-config.yaml.

בדיקות מוכנות

כשמשתמשים בסביבת ההרצה הנוכחית, הכלי Migrate to Containers מוסיף בדיקת מוכנות בקובץ deployment_spec.yaml. כשמפעילים את מנהל השירותים הפשוט של Linux, לא מתווספת בדיקת מוכנות.

אם רוצים להוסיף בדיקת מוכנות, מומלץ להשתמש בבדיקת מוכנות מסוג HTTP. מידע נוסף זמין במאמר בנושא הגדרת בדיקות מוכנות.

        readinessProbe:
          exec:
            command:
            - /.m4a/gamma status

עם זאת, יכול להיות שהבדיקה הזו תחזיר תוצאה שלילית שגויה.

תמיכה ב-syslog

מנהל השירותים הפשוט של Linux יוצר שקע Unix בכתובת /dev/log כדי לתמוך ב-syslog. מנהל השירותים הפשוט של Linux מעביר את הודעות היומן האלה אל stdout כדי שהן יתועדו על ידי Kubernetes כיומני קונטיינרים.

מגבלות

חשוב להכיר את המגבלות הבאות כשמשתמשים במנהל השירותים הפשוט של Linux.

מגבלות על עומסי עבודה

מנהל השירותים הפשוט של Linux מתאים במיוחד לסוגי עומסי העבודה הבאים:

תמונה מערכת הפעלה שירותים
‫Compute Engine Ubuntu 12.04 Ubuntu 12.04 apache2
‫Compute Engine Ubuntu 14.04 Ubuntu 14.04 ‫redis, ‏ mysql, ‏ apache2
‫Compute Engine Ubuntu 18.04 Ubuntu 18.04 apache2, mysql, redis-server, tomcat
RHEL SAP 7.4 Red Hat httpd
Bitnami Ubuntu bitnami
תמונת Memcached ב-Compute Engine ‫Debian 10.9 bitnami
Compute Engine Marketplace wordpress Debian 9.13 apache2, mysql, php
‫Compute Engine Marketplace tomcat Debian 9.13 tomcat8
‫Compute Engine Marketplace jenkins ‫Debian 10.9 apache2, jenkins
‫Compute Engine Marketplace moodle Debian 9.13 apache2, mysql, php7.4 fpm, phpsessionclean
‫Odoo ב-Compute Engine Marketplace Debian 9.13 odoo, nginx
‫Compute Engine Marketplace Opencart Debian 9.13 apache2, mysql, php7.0 fpm, supervisor, mariadb
‫Compute Engine Marketplace Erpnext ‫Debian 10.9 nginx, redis-server, supervisor, mariadb
‫Compute Engine Marketplace wildfly ‫Debian 10.10 wildfly, cron

מגבלות של systemd

אם אתם משתמשים ב-systemd כמערכת ההפעלה, חשוב לשים לב למגבלות הבאות:

  • שירות systemd types של simple,exec ו-notify נחשב לשירות exec. כלומר, השירות נחשב כמופעל כשהפעולה exec מצליחה.

  • יש תמיכה בשקעי התראה עבור sd_notify() להודעות READY=1 בלבד.

    במקרה הצורך, אפשר לספק בדיקות מוכנות אחרות. לדוגמה, בדיקת HTTP או סוגים אחרים של בדיקות.

  • אין תמיכה בקבצים של יחידות מסוג Socket. לא נוצרים sockets ולא נוצרים משתני סביבה.

עדכונים לגרסה 1.9.0

מנהל השירותים של Linux בגרסה 1.9.0 כולל את העדכונים הבאים:

  • מנהל השירות של Linux הושק לזמינות לכלל המשתמשים (GA), והוא כבר לא בתוכנית Public Preview.

  • השתנה ההליך להמרת עומסי עבודה קיימים של קונטיינרים לתמיכה ב-Autopilot. עכשיו צריך לערוך את קובץ ה-Dockerfile ואת קובץ deployment_spec.yaml של העברה קיימת כדי להמיר אותה.

  • השם של הקובץ config.yaml שונה ל-services-config.yaml.

עדכונים לגרסה 1.8.1

מנהל השירותים הפשוט של Linux הושק במקור בגרסת טרום-השקה ציבורית כחלק מ-Migrate to Containers גרסה 1.8. מנהל השירותים הפשוט של Linux בגרסה 1.8.1 כולל את העדכונים הבאים:

  • אין יותר צורך להגדיר הערה בתוכנית ההעברה כדי להפעיל את מנהל השירותים הפשוט של Linux. במקום זאת, עכשיו מגדירים v2kServiceManager. מידע נוסף זמין במאמר בנושא פריסת קונטיינרים באשכולות Autopilot.

  • שם משתנה הסביבה HC_GAMMA_RUNTIME השתנה ל-HC_V2K_SERVICE_MANAGER.

  • הערכים prestart ו-poststart בקובץ services-config.yaml מתמלאים עכשיו באופן אוטומטי. מידע נוסף זמין במאמר שימוש בקובץ services-config.yaml.

  • נוסף תמיכה בקובץ services-config.yaml שמאפשר לציין משתני סביבה ברמה הגלובלית או ברמת האפליקציה. מידע נוסף זמין במאמר שימוש בקובץ services-config.yaml.

  • הוספנו תמיכה ברישום ביומן שמאפשרת להתאים אישית את נתוני היומן שנכתבים ב-Cloud Logging. מידע נוסף זמין במאמר התאמה אישית של נתוני היומן שנכתבים ב-Cloud Logging.

המאמרים הבאים