您必須設定節點機器的基本作業系統,才能使用 Google Distributed Cloud。本頁說明完成必要設定的步驟。如要進一步瞭解如何排解 Google Distributed Cloud 問題,請參閱疑難排解指南。
事前準備
確認您使用的是支援的作業系統版本。如需支援的版本清單,請參閱「選取作業系統」。
啟用 cgroupsv2
裸機適用的 Google Distributed Cloud 軟體 (僅限軟體) 1.35 以上版本需要 cgroupsv2。作業系統必須支援 cgroupsv2,才能建立或升級叢集。
如果在預檢期間偵測到 cgroupsv1,Google Distributed Cloud 會禁止建立或升級叢集。如要瞭解如何將作業系統遷移至 cgroupsv2,請參閱 Kubernetes 說明文件中的「遷移至 cgroup v2」。
如需在 RHEL 上啟用 cgroupsv2 的操作說明,請參閱 Red Hat 知識庫中的「Enabling cgroup v2」。
啟用 BPF 即時編譯器
作業系統的核心必須啟用 BPF Just In Time 編譯器選項 (CONFIG_BPF_JIT=y)。
如要瞭解是否已啟用這項選項,請執行下列指令:
grep CONFIG_BPF_JIT /boot/config-$(uname -r)
驗證套件管理員
請確認您擁有 RedHat 使用者名稱和密碼,且對要設定的電腦具有根存取權。請按照下列步驟驗證套件管理員:
如果尚未註冊作業系統,請使用 RedHat 使用者名稱和密碼向 RedHat 註冊,以便下載更新:
sudo subscription-manager register sudo subscription-manager refresh sudo subscription-manager attach --auto檢查更新:
sudo dnf check-update確認輸出內容沒有錯誤,且包含最後一次中繼資料到期檢查。例如:
Updating Subscription Management repositories. ... # Last metadata expiration check: ... ...
設定或停用 firewalld
您可以設定 Firewalld,以便搭配 Google Distributed Cloud 使用,也可以停用 Firewalld。如要瞭解如何設定 firewalld,請參閱「網路需求」頁面的「設定 firewalld 連接埠」。
下列操作說明會停用 firewalld。
停用 firewalld:
sudo systemctl stop firewalld sudo systemctl disable firewalld檢查 firewalld 的狀態,確認已停用:
sudo systemctl status firewalld | grep "Active" # Output # Active: inactive (dead)
在工作站上設定 Docker
請按照下列步驟手動安裝 Docker:
移除所有先前的 Docker 版本:
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine移除 podman-manpages:
sudo dnf remove podman-manpages安裝 Docker 20.10.0 以上版本:
sudo dnf install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.repo sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io sudo systemctl start docker確認您目前執行的版本為 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確認 Docker 是否正在執行:
docker run hello-world畫面應如下所示:
Hello from Docker!這則訊息表示安裝作業似乎正常運作。
設定時間同步
時間同步處理是指使用指定的外部時間參考,設定節點機器的時鐘。時間同步對於時間敏感的叢集活動 (例如事件記錄和指標收集) 十分重要。節點機器的核心會控管在節點上執行的容器時鐘。為確保時間同步處理正常運作,請在機器上安裝網路時間通訊協定 (NTP) 服務,並使用下列任一可用服務:chrony、systemd-timesyncd、ntp 或 ntpdate。執行 timedatectl,確認系統時鐘已同步。timedatectl 的輸出內容應包含下列狀態:
System clock synchronized: yes
確認 Linux 核心 inotify 限制等於或高於下限
如為執行 RHEL 9 和 8.10 的機器,Linux 核心inotify限制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如果更新了任一值,請重新啟動電腦。
最佳做法
為簡化安裝作業,建議您使用最少的安裝項目,並透過無頭管理功能設定 RHEL。此外,請務必啟用網路連線,並使用預設 DHCP,或提供有效的靜態 IP 位址和網路資訊。請確認機器可以連線至必要的外部資源,例如 cloud.google.com。
如果 Docker 無法執行,請執行下列指令,確認 Docker Daemon 是否正在執行:
sudo systemctl start docker