תמונות של צמתים

בדף הזה מתוארות תמונות הצמתים שזמינות לצמתים של Google Kubernetes Engine‏ (GKE).

צמתים של GKE Autopilot תמיד משתמשים במערכת הפעלה שמותאמת לקונטיינרים עם containerd ‏ (cos_containerd), שהיא מערכת ההפעלה המומלצת לצמתים. אם אתם משתמשים ב-GKE Standard, אתם יכולים לבחור את קובץ אימג' של המערכת שפועל בכל צומת במהלך יצירת האשכול או מאגר הצמתים. אפשר גם לשדרג אשכול קיים מסוג Standard כדי להשתמש בתמונה אחרת של צומת. הוראות להגדרת תמונת הצומת זמינות במאמר הגדרת תמונת צומת.

תמונות צומת זמינות

‫GKE מציע את האפשרויות הבאות של קובצי אימג' של צמתים לכל מערכת הפעלה באשכול:

מערכת הפעלה תמונות של צמתים
מערכת הפעלה שמותאמת לקונטיינרים
Ubuntu
Windows Server

מערכת הפעלה שמותאמת לקונטיינרים

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

מידע על פרויקט התמונות ועל המשפחה זמין במאמר פרויקטים של מקורות תמונות של צמתים.

וריאציות של מערכת הפעלה שמותאמת לקונטיינרים

אפשר להשתמש בתמונה הבאה של מערכת הפעלה שמותאמת לקונטיינרים:

  • מערכת הפעלה שמותאמת לקונטיינרים עם containerd ‏ (cos_containerd): קובץ האימג' cos_containerd משתמש ב-containerd כזמן הריצה של הקונטיינר, שמשולב ישירות עם Kubernetes. אשכולות GKE Autopilot תמיד משתמשים בתמונה הזו. מידע נוסף זמין במאמר Containerd node images.

Ubuntu

תמונות הצומת של Ubuntu אומתו מול הדרישות של GKE לתמונות צומת. כדאי להשתמש בתמונות של צומתי Ubuntu אם הצמתים שלכם דורשים תמיכה ב-XFS, ב-CephFS או בחבילות Debian.

מידע על פרויקט התמונות והמשפחה זמין במאמר תמיכה בתכונות לפי מערכת הפעלה.

וריאציות של Ubuntu

אפשר להשתמש בתמונת Ubuntu הבאה:

  • Ubuntu עם containerd ‏ (ubuntu_containerd): קובץ האימג' ubuntu_containerd משתמש ב-containerd כזמן הריצה של הקונטיינר. מידע נוסף זמין במאמר בנושא תמונות של צמתים ב-containerd.

Windows Server

כשיוצרים אשכול באמצעות מאגרי צמתים של Windows Server ‎, אפשר להשתמש בקובץ אימג' של צומת Windows Server Long-Term Servicing Channel‏ (LTSC). תמונת הצומת של Windows היא תמונת Windows Server Datacenter Core. לכל אשכול יכולות להיות כמה מאגרי צמתים של Windows Server שמשתמשים בגרסאות שונות של Windows Server, אבל כל מאגר צמתים יכול להשתמש רק בגרסה אחת של Windows Server. מידע נוסף זמין במאמר בנושא בחירת תמונת צומת של Windows.

אפשר להשתמש בתמונת Windows Server הבאה:

  • Windows Server LTSC עם containerd ‏ (windows_ltsc_containerd): קובץ האימג' windows_ltsc_containerd משתמש ב-containerd כזמן הריצה של הקונטיינר. כרגע, סוג התמונה הזה ממופה לשתי תמונות של צמתים: Windows Server 2022 ו-Windows Server 2019. אפשר ליצור מאגרי צמתים של Windows LTSC2022 באמצעות פקודת ה-CLI של gcloud עם הדגל windows-os-version.

מידע נוסף על יצירת מאגרי צמתים של Windows Server 2022 זמין במאמר בנושא יצירת מאגרי צמתים של Windows

מידע נוסף על תמונות של צמתים ב-containerd זמין במאמר תמונות של צמתים ב-containerd.

מידע על פרויקט התמונות והמשפחה זמין במאמר תמיכה בתכונות לפי מערכת הפעלה.

השוואה בין תמונות של צומת Linux

בקטעים הבאים מוצגת השוואה בין ההיבטים התפעוליים של תמונות הצמתים של מערכת ההפעלה שמותאמת לקונטיינרים ושל אובונטו, כולל:

  • ניהול חבילות תוכנה
  • אתחול המערכת
  • איסוף יומנים
  • פריסת מערכת הקבצים
  • תמיכה בדרייבר של אחסון

תוכנה לניהול חבילות

קובצי האימג' של הצמתים cos ו-cos_containerd משתמשים במערכת קבצים מינימלית של שורש עם תמיכה מובנית בזמן הריצה של קונטיינר Docker ‏ (containerd), שמשמש גם ככלי לניהול חבילות להתקנת תוכנה במארח. תמונת Ubuntu משתמשת במנהל חבילות APT.

ניהול תוכנה במערכת הפעלה שמותאמת לקונטיינרים

תמונת מערכת ההפעלה שמותאמת לקונטיינרים לא מספקת תוכנה לניהול חבילות כמו apt-get. אי אפשר להתקין תוכנה שרירותית בצמתים באמצעות מנגנונים רגילים. במקום זאת, יוצרים קובץ אימג' של קונטיינר שמכיל את התוכנה שאתם צריכים.

במערכת הפעלה שמותאמת לקונטיינרים באשכולות רגילים, למטרות ניפוי באגים בלבד, כלול CoreOS Toolbox להתקנה ולהפעלה של כלי ניפוי באגים נפוצים כמו ping, ‏ psmisc או pstree. מידע נוסף על ניפוי באגים בצמתים של מערכת ההפעלה שמותאמת לקונטיינרים זמין במדריכים של מערכת ההפעלה שמותאמת לקונטיינרים.

ניהול תוכנה ב-Ubuntu

תמונת Ubuntu משתמשת במנהל החבילות APT. אפשר להשתמש בפקודה apt-get כדי להתקין חבילות בתמונות האלה. לדוגמה, כדי להתקין חבילות ceph:

sudo apt-get update
sudo apt-get install ceph

אתחול המערכת

גם קובץ האימג' של הצומת של מערכת הפעלה שמותאמת לקונטיינרים וגם קובץ האימג' של הצומת של Ubuntu משתמשים ב-systemd כדי לנהל משאבי מערכת ושירותים במהלך תהליך האתחול של המערכת.

שתי תמונות הצומת משתמשות בקבצים של שירות systemd כדי להגדיר את services בצומת, וב-systemd.targets כדי לקבץ יעדי אתחול באמצעות יחסי תלות.

איסוף יומנים

קובצי האימג' של הצמתים של מערכת הפעלה שמותאמת לקונטיינרים ושל Ubuntu משתמשים ב-systemd-journald כדי לאסוף יומנים ברמת המערכת.

צפייה ביומנים במערכת הפעלה שמותאמת לקונטיינרים וב-Ubuntu

כדי לראות את היומנים בצומת עם קובץ אימג' של צומת מערכת הפעלה שמותאמת לקונטיינרים או Ubuntu, צריך להשתמש בפקודה journalctl. לדוגמה, כדי לראות את היומנים של שד containerd:

sudo journalctl -u containerd

כדי לראות את היומנים של kubelet:

sudo journalctl -u kubelet

פריסת מערכת הקבצים

תמונת הצומת של Ubuntu משתמשת בפריסת מערכת הקבצים הסטנדרטית של Linux.

פריסת מערכת הקבצים של קובץ האימג' של הצומת של מערכת הפעלה שמותאמת לקונטיינרים מותאמת כדי לשפר את אבטחת הצומת. השטח בדיסק האתחול מחולק לשלושה סוגים של מחיצות:

  • מחיצת הבסיס, שנטענת לקריאה בלבד
  • מחיצות עם שמירת מצב, שאפשר לכתוב בהן והן שומרות מצב
  • מחיצות ללא מצב, שאפשר לכתוב בהן אבל התוכן לא נשמר אחרי הפעלה מחדש

כשמשתמשים במערכת הפעלה שמותאמת לקונטיינרים, חשוב לשים לב לחלוקת המחיצות אם מפעילים שירותים משלכם שיש להם ציפיות מסוימות לגבי פריסת מערכת הקבצים מחוץ לקונטיינרים.

עבודה עם מערכת הקבצים של מערכת הפעלה שמותאמת לקונטיינרים

בהמשך מפורטות נתיבים במערכת הקבצים של קובץ האימג' של צומת מערכת הפעלה שמותאמת לקונטיינרים, יחד עם המאפיינים שלהם והשימוש המומלץ:

נתיב מאפיינים מטרה
/
  • קריאה בלבד
  • קובץ הפעלה
מערכת הקבצים הבסיסית טעונה לקריאה בלבד כדי לשמור על תקינות. הליבה מאמתת את התקינות של מערכת הקבצים הבסיסית במהלך ההפעלה, ומסרבת להפעיל את המערכת במקרה של שגיאות.
‪/home
/var
  • ניתן לכתיבה
  • לא קובץ להפעלה
  • שומר מצב
הנתיבים האלה מיועדים לאחסון נתונים שנשמרים למשך משך החיים של דיסק האתחול. הם מותקנים מ-/mnt/stateful_partition.
‪/var/lib/google
‪ /var/lib/docker
‪ /var/lib/toolbox
  • ניתן לכתיבה
  • קובץ הפעלה
  • שומר מצב
הנתיבים האלה הם ספריות עבודה לחבילות של Compute Engine (לדוגמה, שירות ניהול החשבונות), Docker ו-Toolbox, בהתאמה.
/var/lib/cloud
  • ניתן לכתיבה
  • קובץ הפעלה
  • אינו שומר מצב
  • tmpfs
הנתיב הזה הוא ספריית העבודה של חבילת cloud-init.
/etc
  • ניתן לכתיבה
  • קובץ הפעלה
  • אינו שומר מצב
  • tmpfs
בדרך כלל מכיל את ההגדרות שלכם (לדוגמה, שירותי systemd שהוגדרו באמצעות cloud-init). מומלץ לתעד את המצב הרצוי של המכונות ב-cloud-init, כי cloud-init מוחל כשמכונה נוצרת וגם כשמכונה מופעלת מחדש.
/tmp
  • ניתן לכתיבה
  • לא קובץ להפעלה
  • אינו שומר מצב
  • tmpfs
בדרך כלל משמש כשטח עבודה זמני, ולא צריך לשמש לאחסון נתונים קבועים.
/mnt/disks
  • ניתן לכתיבה
  • קובץ הפעלה
  • אינו שומר מצב
  • tmpfs
אפשר לצרף דיסקים קשיחים לספריות ב-/mnt/disks.

תמיכה בדרייבר של אחסון

כל תמונה של צומת שונה בסוגי תוספי האחסון שהיא תומכת בהם. המונחים הבאים רלוונטיים לתיאור התמיכה של תמונת צומת במנהל אחסון מסוים:

  • כן – נבדק/נתמך באופן מלא: פלאגין האחסון הזה נתמך באופן מלא ונבדק עם תמונת הצומת שצוינה.
  • כן – בדיקה מוגבלת: תוסף האחסון הזה פועל עם תמונת הצומת שצוינה, אבל נבדק רק באופן מוגבל. יכול להיות שתיתקלו בהתנהגות לא צפויה. במערכת הפעלה שמותאמת לקונטיינרים, יישומי הפלאגין האלה ייבדקו באופן מלא ויתמכו בהם בסופו של דבר.
  • לא נתמך: לא נבדק או נעשה שימוש בתוסף האחסון הזה עם תמונת הצומת שצוינה, ו-GKE לא יכול לספק שום הבטחה לגבי הפונקציונליות שלו. אין תוכניות לבדיקת פלאגין האחסון הזה.
  • לא: פלאגין האחסון הזה לא פועל עם תמונת הצומת שצוינה בגלל מגבלה שקיימת במערכת ההפעלה של הצומת או ב- Google Cloud.

בטבלה הבאה מתואר האופן שבו כל תמונה של צומת GKE תומכת בכמה תוספים נפוצים לאחסון.

סוג נפח האחסון האם זה עובד במערכת הפעלה שמותאמת לקונטיינרים (cos)? האם זה עובד ב-Ubuntu?
Compute Engine
Persistent Disk (EXT4 או XFS)
כן – נבדק/נתמך באופן מלא
(XFS נתמך רק ב-cos-85 ואילך). הערות הגרסה של GKE
כן – נבדק באופן מלא או נתמך
NFSv3 כן – נבדק באופן מלא או נתמך כן – נבדק באופן מלא או נתמך
NFSv4 כן – נבדק באופן מלא או נתמך כן – נבדק באופן מלא או נתמך
CephFS לא כן – בדיקה מוגבלת
(הדרייבר לא מותקן כברירת מחדל. חובה להתקין את לקוח ceph, רצוי באמצעות DaemonSet.)
Cinder לא לא
Fibre Channel לא לא
Flocker לא נתמך לא נתמך
iSCSI לא לא
RBD לא לא

סנכרון זמן

גם קובצי אימג' של צמתים של מערכת הפעלה שמותאמת לקונטיינרים וגם קובצי אימג' של צמתים של Ubuntu משתמשים בשרת פרוטוקול זמן ברשת (NTP) פנימית כמקור הזמן העיקרי. שרת ה-NTP הפנימי הזה מפוזר באופן זהה ל-Google Public NTP.

אם שרת ה-NTP הפנימי לא זמין, גם מערכת הפעלה שמותאמת לקונטיינרים וגם תמונות הצומת של Ubuntu משתמשות בשעון בזמן אמת (RTC), שהוא שעון החומרה של המחשב המארח, כמקור גיבוי של זמן.

יצירת מספרים אקראיים

בצמתים של מערכת הפעלה שמותאמת לקונטיינרים ושל Ubuntu, ל-Pods יש גישה לקבצים /dev/random ו-/dev/urandom. הקבצים האלה מספקים מספרים אקראיים שמועברים על ידי Virtio RNG ממאגר אנטרופיה שנוצר על ידי מכונת Compute Engine.

שינויים במכונות וירטואליות של צמתים

שינויים בדיסק האתחול של מכונה וירטואלית של צומת לא נשמרים כשיוצרים מחדש את הצומת. הצמתים נוצרים מחדש במהלך שדרוג ידני, שדרוג אוטומטי, תיקון אוטומטי והתאמה אוטומטית לעומס. בנוסף, הצמתים נוצרים מחדש כשמפעילים תכונה שדורשת יצירה מחדש של צמתים, כמו GKE Sandbox,‏ intranode visibility ו-shielded nodes.

כדי לשמור את השינויים גם אחרי יצירה מחדש של הצומת, צריך להשתמש ב-DaemonSet.

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

מיפוי של גרסאות של קובצי אימג' של צמתים של מערכת הפעלה שמותאמת לקונטיינרים לגרסאות תיקון של GKE

‫GKE מפרסם מיפוי JSON של גרסאות תיקון של GKE לגרסאות של קובצי אימג' של צמתים של מערכת הפעלה שמותאמת לקונטיינרים:

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

הרשימה הזו מתעדכנת מדי שבוע, בערך. כדי לראות את עדכניות המידע, מעיינים בשדה creation_time בקובץ ה-JSON.

נתוני הגרסה של תמונות הצמתים

מערכת הפעלה שמותאמת לקונטיינרים

‫Google מספקת תיעוד מקיף של מערכת ההפעלה שמותאמת לקונטיינרים:

Ubuntu

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

פרויקטים של מקורות תמונות של צמתים

קובצי האימג' של הצמתים שזמינים באשכולות GKE נמצאים בפרויקטים הבאים של המקור:

  • קובצי אימג' של מערכת הפעלה שמותאמת לקונטיינרים: gke-node-images
  • תמונות Ubuntu: ‏ ubuntu-os-gke-cloud
  • תמונות של Windows Server: gke-windows-node-images

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

  • ubuntu-os-gke-cloud-private (שמור לשימוש בלעדי של צוות GKE)
  • ubuntu-os-gke-cloud-devel (שמור לשימוש בלעדי של צוות GKE)

יכול להיות שתצטרכו לדעת את שמות פרויקטי המקור כשמגדירים אשכולות מאובטחים במיוחד. רשימת פרויקטי המקור עשויה להשתנות.

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