設定 RHEL

您必須設定節點機器的基本作業系統,才能使用 Google Distributed Cloud。本頁說明完成必要設定的步驟。如要進一步瞭解如何排解 Google Distributed Cloud 問題,請參閱疑難排解指南

事前準備

確認您使用的是支援的作業系統版本。如需支援的版本清單,請參閱選取作業系統

啟用 BPF 即時編譯器

作業系統的核心必須啟用 BPF Just In Time 編譯器選項 (CONFIG_BPF_JIT=y)。

  • 如要瞭解是否已啟用這個選項,請執行下列指令:

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

驗證套件管理員

請確認您擁有 RedHat 使用者名稱和密碼,且對要設定的電腦具有根存取權。按照下列步驟驗證套件管理員:

  1. 如果尚未註冊作業系統,請使用 RedHat 使用者名稱和密碼向 RedHat 註冊,以便下載更新:

    sudo subscription-manager register
    
    sudo subscription-manager refresh
    
    sudo subscription-manager attach --auto
    
  2. 檢查更新:

    sudo dnf check-update
    

    確認輸出內容沒有錯誤,且包含上次中繼資料到期檢查。例如:

    Updating Subscription Management repositories.
    ...
    # Last metadata expiration check: ...
    ...
    

設定或停用 firewalld

您可以設定 Firewalld,以便搭配 Google Distributed Cloud 使用,也可以停用 Firewalld。如要瞭解如何設定 firewalld,請參閱「網路需求」頁面的「設定 firewalld 連接埠」。

下列操作說明會停用 firewalld。

  1. 停用 firewalld:

    sudo systemctl stop firewalld
    
    sudo systemctl disable firewalld
    
  2. 檢查 firewalld 的狀態,確認已停用:

    sudo systemctl status firewalld | grep "Active"
    # Output
    # Active: inactive (dead)
    

在工作站上設定 Docker

請按照下列步驟手動安裝 Docker:

  1. 移除所有先前的 Docker 版本:

    sudo dnf remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
    
  2. 移除 podman-manpages:

    sudo dnf remove podman-manpages
    
  3. 安裝 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
    
  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
    
  6. 確認 Docker 正在執行:

    docker run hello-world
    

    畫面應如下所示:

    Hello from Docker!
    

    這則訊息表示安裝作業似乎正常運作。

設定時間同步

時間同步處理是指使用指定的外部時間參考,設定節點機器的時鐘。時間同步對於時間敏感的叢集活動 (例如事件記錄和指標收集) 十分重要。節點機器的核心會控管在節點上執行的容器時鐘。如要確保時間同步處理正常運作,請在機器上安裝網路時間通訊協定 (NTP) 服務,並使用下列任一可用服務:chronysystemd-timesyncdntpntpdate。執行 timedatectl,確認系統時鐘已同步。timedatectl 的輸出內容應包含下列狀態:

System clock synchronized: yes

確認 Linux 核心 inotify 限制等於或高於下限

如為執行 RHEL 9 和 8.10 的機器,Linux 核心inotify限制的最大使用者執行個體和使用者監控數必須大於或等於下列值:

  • fs.inotify.max_user_instances8192
  • fs.inotify.max_user_watches524288

請確認節點機器的這些值設定正確無誤:

  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. 如果更新了任一值,請重新啟動裝置。

最佳做法

為簡化安裝作業,建議您使用最少的安裝項目,並透過無頭管理功能設定 RHEL。此外,請務必啟用網路連線,並使用預設 DHCP,或提供有效的靜態 IP 位址和網路資訊。請確認機器可以連線至必要的外部資源,例如 cloud.google.com

如果 Docker 無法執行,請執行下列指令,確認 Docker daemon 是否正在執行:

sudo systemctl start docker