您必須設定節點機器的基本作業系統,才能使用 Google Distributed Cloud。本頁說明完成必要設定的步驟。如要進一步瞭解如何排解 Google Distributed Cloud 需求相關問題,請參閱已知問題。
事前準備
確認您使用的是支援的作業系統版本和 Ubuntu 硬體啟用 (HWE) 核心。如需支援的版本清單,請參閱「選取作業系統」一文。
啟用 BPF 即時編譯器
作業系統的核心必須啟用 BPF Just In Time 編譯器選項 (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:
- 如果裸機未安裝 Docker,
bmctl
會安裝 20.10.0 以上版本。 - 如果裸機安裝的 Docker 版本為 19.03.5 或更早,請
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
:8192
fs.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
如果更新了任一值,請重新啟動裝置。