הגדרת Ubuntu

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

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

חשוב לוודא שאתם משתמשים בגרסה נתמכת של מערכת ההפעלה ובליבת Ubuntu Hardware Enablement ‏ (HWE). רשימת הגרסאות הנתמכות מופיעה במאמר בחירת מערכת ההפעלה.

הפעלת מהדר BPF Just In Time

הליבה של מערכת ההפעלה צריכה לכלול את האפשרות BPF Just In Time compiler (מהדר JIT של BPF) מופעלת (CONFIG_BPF_JIT=y).

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

    grep CONFIG_BPF_JIT /boot/config-$(uname -r)
    

אימות מנהל החבילות

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

    sudo apt-get check
    

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

    # Reading package lists... Done
    # Building dependency tree
    # Reading state information... Done
    

השבתה של חומת האש הפשוטה (UFW)

  1. השבתה של ufw:

    sudo ufw disable
    
  2. בודקים ש-ufw מושבת:

    sudo ufw status
    # Status: inactive
    

הגדרת Docker בתחנת העבודה

‫Google Distributed Cloud עוזר לכם להתקין את Docker במכונות Bare Metal בתרחישים הבאים:

  • אם במכונות ה-Bare Metal שלכם לא מותקן Docker, ‏ bmctl מתקין גרסה 20.10.0 ואילך.
  • אם במכונות ה-Bare Metal שלכם מותקנת גרסה 19.03.5 של Docker או גרסה קודמת, bmctl מערכת שדרוג Docker לגרסה 20.10.0 או לגרסה מאוחרת יותר.

כדי להתקין את Docker באופן ידני:

  1. מסירים את הגרסה הקודמת של Docker:

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. מעדכנים את מערכת ניהול החבילות:

    sudo apt-get update
    
  3. מתקינים את Docker 20.10.0 ואילך:

    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common \
      docker.io
    
  4. מוודאים שאתם מריצים עכשיו את גרסה 20.10.0 ואילך:

    sudo docker version
    
  5. כדי לוודא שגרסאות הלקוח והשרת הן 20.10.0 ומעלה, משווים את הפלט לדוגמה הבאה :

     Client: Docker Engine - Community
     Version:           25.0.3
     ...
     Server: Docker Engine - Community
      Engine:
      Version:          25.0.3
    

הגדרת סנכרון זמן

סנכרון הזמן כולל הגדרת השעונים במכונות הצמתים, באמצעות הפניה חיצונית ייעודית לזמן. סנכרון הזמן חשוב לפעילויות של אשכולות שרגישות לזמן, כמו רישום אירועים ואיסוף מדדים. הליבה של מכונת הצומת שולטת בשעון בקונטיינרים שפועלים בצומת. כדי לוודא שהשעון מסונכרן בצורה תקינה, צריך להתקין במחשבים שירות של פרוטוקול זמן ברשת (NTP) באמצעות אחד מהשירותים הזמינים: chrony,‏ systemd-timesyncd,‏ ntp או ntpdate. מריצים את הפקודה timedatectl כדי לוודא ששעון המערכת מסונכרן. הפלט של timedatectl צריך לכלול את הסטטוס הבא:

System clock synchronized: yes

מוודאים שהמגבלות של ליבת Linux‏ inotify הן ברמה המינימלית או מעליה

במכונות שמופעלת בהן Ubuntu 22.04, הגבלות של ליבת Linux‏ inotify לגבי מספר מקסימלי של מופעי משתמשים וצפיות משתמשים צריכות להיות גדולות או שוות לערכים הבאים:

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

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

  1. בודקים את הערך של max_user_instances:

    cat /proc/sys/fs/inotify/max_user_instances
    
  2. אם צריך, מעדכנים את max_user_instances לערך המינימלי:

    echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.conf
    
  3. בודקים את הערך של max_user_watches:

    cat /proc/sys/fs/inotify/max_user_watches
    
  4. אם צריך, מעדכנים את max_user_watches לערך המינימלי:

    echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.conf
    
  5. אם עדכנתם את אחד מהערכים, הפעילו מחדש את המחשב.