סביבת זמן ריצה חדשה ומשופרת
מנהל השירות המקורי של 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 כמערכת ההפעלה, חשוב לשים לב למגבלות הבאות:
שירות
systemdtypes של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.