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

בדף הזה מתוארות תמונות הצמתים שזמינות לצמתים של 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.

Ubuntu

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

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

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

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

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

  • ‫Yes - Fully Tested/Supported: הפלאגין הזה לאחסון נתמך באופן מלא ונבדק עם קובץ האימג' של הצומת שצוין.
  • כן – בדיקה מוגבלת: תוסף האחסון הזה פועל עם תמונת הצומת שצוינה, אבל הוא נבדק רק באופן מוגבל, ולכן יכול להיות שתיתקלו בהתנהגות לא צפויה. במערכת הפעלה שמותאמת לקונטיינרים, יישומי הפלאגין האלה ייבדקו באופן מלא ויתמכו בהם בסופו של דבר.
  • לא נתמך: פלאגין האחסון הזה לא נבדק ולא נעשה בו שימוש עם תמונת הצומת שצוינה, ו-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, לפודים יש גישה לקבצים /dev/random ו-/dev/urandom. הקבצים האלה מספקים מספרים אקראיים שנוצרים על ידי Virtio RNG ממאגר אנטרופיה שנוצר על ידי המכונה של Compute Engine.

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

שינויים בדיסק האתחול של מכונת VM של צומת לא נשמרים כשיוצרים מחדש את הצומת. הצמתים נוצרים מחדש במהלך שדרוג ידני, שדרוג אוטומטי, תיקון אוטומטי והתאמה אוטומטית לעומס. בנוסף, הצמתים נוצרים מחדש כשמפעילים תכונה שמחייבת יצירה מחדש של צמתים, כמו 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 ו-gke-ubuntu-node-images
  • תמונות של Windows Server: ‏gke-windows-node-images

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

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

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

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