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

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

כשמתקינים את Google Distributed Cloud, אפשר ליצור סוגים שונים של אשכולות:

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

בנוסף לסוג האשכול, אתם יכולים לבחור מבין פרופילי ההתקנה הבאים מבחינת דרישות המשאבים:

  • Default: לפרופיל ברירת המחדל יש דרישות סטנדרטיות למשאבי מערכת, ואפשר להשתמש בו לכל סוגי האשכולות.

  • ‫Edge: פרופיל Edge דורש הרבה פחות משאבי מערכת. מומלץ להשתמש בפרופיל הזה במכשירי קצה עם משאבים מוגבלים. אפשר להשתמש בפרופיל הקצה רק באשכולות עצמאיים.

דרישות המשאבים לכל סוגי האשכולות שמשתמשים בפרופיל ברירת המחדל

בטבלה הבאה מפורטות דרישות החומרה המינימליות והמומלצות שנדרשות כדי להפעיל ולנהל אשכולות אדמין, אשכולות היברידיים, אשכולות משתמשים ואשכולות עצמאיים ב-Google Distributed Cloud באמצעות פרופיל ברירת המחדל:

משאב מינימום מומלץ
מעבדים / מעבדים וירטואליים* ‫4 ליבות 8 ליבות
RAM ‫16 GiB 32 GiB
אחסון ‫128 GiB ‫256 GiB

‫* Google Distributed Cloud תומך רק במעבדי CPU ו-vCPU מסוג x86-64 ברמת מיקרו-ארכיטקטורה של מעבד v3‏ (x86-64-v3) ומעלה.

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

בטבלה הבאה מפורטות דרישות החומרה המינימליות והמומלצות שנדרשות ל-Google Distributed Cloud כדי להפעיל ולנהל אשכולות עצמאיים באמצעות פרופיל הקצה:

משאב מינימום מומלץ
מעבדי CPU או vCPU* 2 ליבות ‫4 ליבות
RAM ‫Ubuntu: ‏ 5GiB

‫RHEL: ‏ 6GiB

‫Ubuntu: ‏8 GiB

‫RHEL: ‏ ‎12 GiB

אחסון ‫128 GiB ‫256 GiB

* Google Distributed Cloud תומך רק במעבדי CPU ו-vCPU מסוג x86-64 ברמת מיקרו-ארכיטקטורה של מעבד v3‏ (x86-64-v3) ומעלה.

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

  • מריצים את bmctl בתחנת עבודה נפרדת. אם אתם חייבים להריץ את bmctl בצומת של אשכול היעד, אתם צריכים זיכרון בנפח 2GiB כדי לעמוד בדרישות המינימליות. לדוגמה, צריך 6 GiB ל-Ubuntu ו-8 GiB ל-RHEL.

  • מגדירים את MaxPodsPerNode ל-110. באשכול פועלים בממוצע עד 30 פודים של משתמשים לכל צומת. יכול להיות שתצטרכו משאבים נוספים בשביל הגדרה גבוהה יותר של MaxPodsPerNode, או כדי להריץ יותר מ-30 פודים של משתמשים לכל צומת.

  • הרכיבים של VM Runtime on GDC לא נכללים בהגדרת המשאבים המינימלית הזו. כדי להפעיל את VM Runtime on GDC נדרשים משאבים נוספים, בהתאם למספר המכונות הווירטואליות שנפרסו באשכול.

דרישות נוספות לגבי נפח האחסון

ב-Google Distributed Cloud אין משאבי אחסון. אתם צריכים להקצות ולהגדיר את נפח האחסון הנדרש במערכת.

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

למידע נוסף על הגדרת האחסון הנדרש, ראו הגדרת אחסון ל-Google Distributed Cloud.

דרישות סף למכונות של צמתים

אלה הדרישות המוקדמות למכונות הצומת:

  • לעמוד בדרישות המינימליות לחומרה.
  • מערכת ההפעלה היא אחת מהפצות Linux הנתמכות. מידע נוסף, כולל דרישות הליבה, זמין במאמר בחירת מערכת ההפעלה.
  • גישה לאינטרנט.
  • קישוריות שכבה 3 לכל שאר מכונות הצמתים.
  • גישה ל-VIP של מישור הבקרה.
  • גישה ליציאות הנדרשות. כדי לראות את דרישות היציאות הספציפיות לצומתי מישור הבקרה, לצומתי העובדים ולצומתי מאזן העומסים, קראו את הקטע שימוש ביציאות בדף דרישות הרשת.
  • שרתי שמות DNS שהוגדרו בצורה נכונה.
  • אין שמות מארחים כפולים.
  • אחד משירותי ה-NTP הבאים מופעל ופועל:
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • מנהל חבילות פעיל, כמו apt או dnf.
  • ב-Ubuntu, צריך להשבית את Uncomplicated Firewall ‏ (UFW). מריצים את הפקודה systemctl stop ufw כדי להשבית את UFW.
  • אם אתם משתמשים ב-RHEL 8 או ב-Rocky Linux, אתם צריכים להתקין את Python בגרסה 3.9 ומעלה בכל הצמתים. איך מעדכנים את גרסת Python

צריך לטעון את מודולי הליבה (kernel) של הרשת nf-tables או iptables. אם טענתם את iptables בצורה נכונה, תראו את הפלט הבא:

iptables --version
iptables vVERSION (nf_tables)
To load a module, run the following command:

```sh
modprobe MODULE_NAME
```
  • דרישות לגבי מקום פנוי בכונן:

    ‫1.29.100 ואילך

    כשמתקינים את Google Distributed Cloud, מתבצעות בדיקות מקדימות. הבדיקות האלה מוודאות שבמערכות הקבצים של הספריות האלה יש מספיק מקום:

    ספרייה דרישות לגבי המרחב
    ‫/ (תיקיית שורש) ‫4GiB‏ (4,294,967,296 בייטים)
    /var/log/fluent-bit-buffers ‫12GiB‏ (12,884,901,888 בייטים)
    /var/opt/buffered-metrics ‫10,016 MiB‏ (10,502,537,216 בייטים)
    /var/lib/containerd
    • ‫30GiB‏ (32,212,254,720 בייטים) לצומתי מישור הבקרה
    • ‫10GiB‏ (10,485,760 בייטים) לצומתי עובדים
    /var/lib/kubelet ‫500 MiB‏ (524,288,000 בייטים)
    /var/lib/etcd ‫20GiB‏ (21,474,836,480 בייטים, רלוונטי רק לצמתים של מישור הבקרה)
    /var/lib/etcd-events ‫5GiB‏ (5,368,709,120 בייטים, רלוונטי רק לצמתים של מישור הבקרה)

    כדי לתת לכם יותר שליטה על המקום שאתם מקצים לעומסי העבודה של האפליקציה, בדיקות מקדימות ליצירת אשכולות בודקות רק את המקום הפנוי הנדרש לרכיבי המערכת של Google Distributed Cloud. יכול להיות שתצטרכו נפח אחסון נוסף, בהתאם לעומסי העבודה שאתם מתכננים לפרוס.

    כשמשדרגים אשכול לגרסה 1.29.100 ואילך, בדיקות ההכנה מוודאות שיש לפחות 2GiB של נפח אחסון פנוי ב-/ (תיקיית השורש).

    ‫1.29.0 וגרסאות ישנות יותר

    בכל פעם שמתקינים את Google Distributed Cloud, מתבצעות בדיקות מקדימות כדי לוודא שבמערכות הקבצים שמגבות את הספריות הבאות יש את הקיבולת הנדרשת:

    ספרייה דרישות לגבי המרחב
    ‫/ (תיקיית שורש) ‫17GiB‏ (18,253,611,008 בייטים)
    /var/lib/containerd
    • ‫30GiB‏ (32,212,254,720 בייטים) לצומתי מישור הבקרה
    • ‫10GiB‏ (10,485,760 בייטים) לצומתי עובדים
    /var/lib/kubelet ‫500 MiB‏ (524,288,000 בייטים)
    /var/lib/etcd ‫20GiB‏ (21,474,836,480 בייטים, רלוונטי רק לצמתים של מישור הבקרה)
    /var/lib/etcd-events ‫5GiB‏ (5,368,709,120 בייטים, רלוונטי רק לצמתים של מישור הבקרה)

    כדי לתת לכם יותר שליטה על המקום שאתם מקצים לעומסי העבודה של האפליקציה, הבדיקות המקדימות ליצירת אשכולות בודקות רק את המקום הפנוי הנדרש לרכיבי המערכת של Google Distributed Cloud. יכול להיות שתצטרכו נפח אחסון נוסף, בהתאם לעומסי העבודה שאתם מתכננים לפרוס.

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

  • הספריות /var/lib/etcd ו-/etc/kubernetes לא קיימות או שהן ריקות.

  • במכונות עם RHEL 9.2 או Ubuntu 22.04, מגבלות הליבה של Linux ל-inotify עבור מופעי משתמשים מקסימליים וצפיות של משתמשים חייבות להיות גדולות או שוות לערכים הבאים:

    • fs.inotify.max_user_instances: 8192
    • fs.inotify.max_user_watches: 524288

    מידע נוסף זמין במסמכי התיעוד של הגדרות RHEL או Ubuntu.

בנוסף לדרישות המוקדמות להתקנה ולהפעלה של Google Distributed Cloud, הלקוחות צריכים לעמוד בתקנים הרלוונטיים לתחום או למגזר העסקי שלהם, כמו דרישות PCI DSS לעסקים שמעבדים כרטיסי אשראי או מדריכי הטמעה טכניים של אבטחה (STIG) לעסקים בתעשייה הביטחונית.

דרישות מוקדמות למכונות של מאזני עומסים

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

  • המכונות נמצאות באותה רשת משנה של שכבה 2.
  • כל כתובות ה-VIP נמצאות ברשת המשנה של צומתי מאזן העומסים, וניתן לנתב אותן מהשער של רשת המשנה.
  • שער הגישה של רשת המשנה של מאזן העומסים צריך להאזין ל-ARP מיותרים כדי להעביר חבילות למאזן העומסים הראשי.

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