צריך להגדיר את מערכת ההפעלה הבסיסית של מכונות הצמתים כדי להשתמש ב-Google Distributed Cloud. בדף הזה מפורטים השלבים שצריך לבצע כדי להשלים את ההגדרה הנדרשת. למידע נוסף על פתרון בעיות שקשורות לדרישות של Google Distributed Cloud, אפשר לעיין בבעיות הידועות.
לפני שמתחילים
חשוב לוודא שאתם משתמשים בגרסה נתמכת של מערכת ההפעלה ובליבת Ubuntu Hardware Enablement (HWE). רשימת הגרסאות הנתמכות מופיעה במאמר בחירת מערכת ההפעלה.
הפעלת cgroupsv2
תוכנת Google Distributed Cloud בלבד לשרת פיזי מגרסה 1.35 ואילך דורשת
cgroupsv2. כדי לשדרג או ליצור אשכולות, מערכת ההפעלה שלכם צריכה לתמוך ב-cgroupsv2.
Google Distributed Cloud מונע יצירה או שדרוג של אשכולות אם מזוהה cgroupsv1 במהלך בדיקות לפני ההפעלה. הוראות להעברת מערכת ההפעלה אל cgroupsv2 מפורטות במאמר Migrating to cgroup v2 (מעבר ל-cgroup v2) במסמכי Kubernetes.
הפעלת מהדר 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)
השבתה של
ufw:sudo ufw disableבודקים ש-
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 באופן ידני:
מסירים את הגרסה הקודמת של Docker:
sudo apt-get remove docker docker-engine docker.io containerd runcמעדכנים את מערכת ניהול החבילות:
sudo apt-get updateמתקינים את Docker 20.10.0 ואילך:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common \ docker.ioמוודאים שאתם מריצים עכשיו את גרסה 20.10.0 ואילך:
sudo docker versionכדי לוודא שגרסאות הלקוח והשרת הן 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:8192fs.inotify.max_user_watches:524288
כדי לוודא שהערכים האלה מוגדרים בצורה נכונה במכונות הצמתים:
בודקים את הערך של
max_user_instances:cat /proc/sys/fs/inotify/max_user_instancesאם צריך, מעדכנים את
max_user_instancesלערך המינימלי:echo 'fs.inotify.max_user_instances=8192' | sudo tee --append /etc/sysctl.confבודקים את הערך של
max_user_watches:cat /proc/sys/fs/inotify/max_user_watchesאם צריך, מעדכנים את
max_user_watchesלערך המינימלי:echo 'fs.inotify.max_user_watches=524288' | sudo tee --append /etc/sysctl.confאם עדכנתם את אחד מהערכים, הפעילו מחדש את המחשב.