設定叢集節點機器的必要步驟

Google Distributed Cloud 可讓您在各種硬體設定上部署叢集,從最精簡的設定到多部機器,提供高可用性和效能。無論設定為何,節點機器都必須符合特定的 CPU、RAM 和儲存空間必要條件,才能支援叢集作業和工作負載。

安裝 Google Distributed Cloud 時,您可以建立不同類型的叢集:

  • 執行工作負載的使用者叢集。
  • 管理員叢集:建立及控管使用者叢集,以便執行工作負載。
  • 獨立叢集是可管理及執行工作負載的單一叢集,但無法建立或管理使用者叢集。
  • 混合式叢集可以管理及執行工作負載,也可以建立及管理其他使用者叢集。

除了叢集類型之外,您也可以根據資源需求,選擇下列安裝設定檔:

  • 預設:預設設定檔有標準系統資源需求,可用於所有叢集類型。

  • Edge:Edge 設定檔可大幅降低系統資源需求。建議在資源有限的邊緣裝置上使用這個設定檔。邊緣設定檔只能用於獨立叢集。

使用預設設定檔的所有叢集類型資源需求

下表說明 Google Distributed Cloud 使用預設設定檔,操作及管理管理員、混合、使用者和獨立叢集時,所需的最低和建議硬體需求:

資源 下限 建議
CPU / vCPU* 4 核心 8 核心
RAM 16 GiB 32 GiB
儲存空間 128 GiB 256 GiB

* Google Distributed Cloud 僅支援 CPU 微架構層級 v3 (x86-64-v3) 以上版本的 x86-64 CPU 和 vCPU。

使用邊緣設定檔的獨立叢集資源需求

下表說明 Google Distributed Cloud 使用邊緣設定檔,操作及管理獨立叢集時,所需的最低和建議硬體需求:

資源 下限 建議
CPU / vCPU* 2 核心 4 核心
RAM Ubuntu:5 GiB

RHEL:6 GiB

Ubuntu:8 GiB

RHEL:12 GiB

儲存空間 128 GiB 256 GiB

* Google Distributed Cloud 僅支援 CPU 微架構層級 v3 (x86-64-v3) 以上版本的 x86-64 CPU 和 vCPU。

如要使用邊緣設定檔設定獨立叢集,請遵循下列最佳做法:

  • 在獨立工作站上執行 bmctl。如須在目標叢集節點上執行 bmctl,則需要 2 GiB 記憶體,才能達到最低需求。例如,Ubuntu 需要 6 GiB,RHEL 需要 8 GiB。

  • 將 MaxPodsPerNode 設為 110。叢集平均每個節點執行的使用者 Pod 不超過 30 個。如要提高 MaxPodsPerNode 設定,或在每個節點執行超過 30 個使用者 Pod,可能需要額外資源。

  • 這項最低資源設定不包含 GDC 元件上的 VM 執行階段。GDC 上的 VM 執行階段需要額外資源,具體取決於叢集中部署的 VM 數量。

額外儲存空間需求

Google Distributed Cloud 不提供任何儲存空間資源。您必須在系統上佈建及設定必要的儲存空間。

如需詳細的儲存空間需求,請參閱「安裝必要條件總覽」。

如要進一步瞭解如何設定所需儲存空間,請參閱「設定 Google Distributed Cloud 的儲存空間」。

節點機器必要條件

節點機器必須符合下列條件:

  • 符合最低硬體需求。
  • 作業系統是支援的 Linux 發行版之一。如要瞭解更多資訊 (包括核心需求),請參閱「選取作業系統」。
  • 網路連線能力。
  • 可連上所有其他節點機器的第 3 層連線能力。
  • 控制層 VIP 的存取權。
  • 可存取必要通訊埠。如需控制層節點、worker 節點和負載平衡器節點的特定通訊埠需求,請參閱「網路需求」頁面的「通訊埠使用情形」一節。
  • 正確設定 DNS 名稱伺服器。
  • 主機名稱不得重複。
  • 已啟用下列其中一項 NTP 服務,且服務正常運作:
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • 可用的套件管理工具,例如 apt 或 dnf。
  • 在 Ubuntu 上,您必須停用 Uncomplicated Firewall (UFW)。執行 systemctl stop ufw 停用 UFW。
  • 如果您使用 RHEL 8 或 Rocky Linux,則必須在所有節點上安裝 Python 3.9 以上版本。如要瞭解如何更新 Python 版本,請參閱「驗證 Python 版本」。

您必須載入 nf-tables 或 iptables 網路核心模組。如果已正確載入 iptables,您會看到下列輸出內容:

iptables --version
iptables vVERSION (nf_tables)
To load a module, run the following command:

```sh
modprobe MODULE_NAME
```
  • 可用磁碟空間需求:

    1.29.100 以上版本

    安裝 Google Distributed Cloud 時,系統會執行預檢。這些檢查會確認這些目錄的檔案系統有足夠的容量:

    目錄 空間需求
    / (根目錄) 4 GiB (4,294,967,296 個位元組)
    /var/log/fluent-bit-buffers 12 GiB (12,884,901,888 個位元組)
    /var/opt/buffered-metrics 10016 MiB (10,502,537,216 個位元組)
    /var/lib/containerd
    • 控制層節點:30 GiB (32,212,254,720 位元組)
    • worker 節點:10 GiB (10,485,760 個位元組)
    /var/lib/kubelet 500 MiB (524,288,000 個位元組)
    /var/lib/etcd 20 GiB (21,474,836,480 位元組,僅適用於控制層節點)
    /var/lib/etcd-events 5 GiB (5,368,709,120 位元組,僅適用於控制層節點)

    為了讓您進一步控管分配給應用程式工作負載的空間,叢集建立作業的預檢只會檢查 Google Distributed Cloud 系統元件所需的可用空間。視您打算部署的工作負載而定,您可能需要額外的儲存空間。

    將叢集升級至 1.29.100 以上版本時,預檢作業會確認 / (根目錄) 至少有 2 GiB 的可用空間。

    1.29.0 以下版本

    每當您安裝 Google Distributed Cloud 時,系統都會執行預檢,確保支援下列目錄的檔案系統具備所需容量:

    目錄 空間需求
    / (根目錄) 17 GiB (18,253,611,008 個位元組)
    /var/lib/containerd
    • 控制層節點:30 GiB (32,212,254,720 位元組)
    • worker 節點:10 GiB (10,485,760 個位元組)
    /var/lib/kubelet 500 MiB (524,288,000 個位元組)
    /var/lib/etcd 20 GiB (21,474,836,480 位元組,僅適用於控制層節點)
    /var/lib/etcd-events 5 GiB (5,368,709,120 位元組,僅適用於控制層節點)

    為了讓您進一步控管分配給應用程式工作負載的空間,叢集建立作業的預檢作業只會檢查 Google Distributed Cloud 系統元件所需的可用空間。視您打算部署的工作負載而定,您可能需要額外的儲存空間。

    無論叢集版本為何,目錄都可以位於相同或不同的磁碟分區。如果目錄共用磁碟分區,請將該共用分區上每個目錄所需的空間相加,計算出總空間需求。如果這些目錄不存在,叢集設定會建立這些目錄。

  • /var/lib/etcd 和 /etc/kubernetes 目錄不存在或空白。

  • 如果機器執行 RHEL 9.2 或 Ubuntu 22.04,Linux 核心 inotify 的使用者執行個體和使用者監控上限,必須大於或等於下列值:

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

    詳情請參閱 RHEL 或 Ubuntu 設定說明文件。

除了安裝及執行 Google Distributed Cloud 的必要條件外,客戶也應遵守其產業或業務領域的相關標準,例如處理信用卡的企業須遵守 PCI DSS 規定,國防產業的企業須遵守安全技術導入指南 (STIG)。

負載平衡器機器必要條件

如果部署作業沒有專門的負載平衡器節點集區,可以讓 worker 節點或控制層節點建立負載平衡器節點集區。在這種情況下,他們必須符合其他先決條件:

  • 機器位於同一個第 2 層子網路。
  • 所有 VIP 都位於負載平衡器節點子網路中,且可從子網路的閘道路由。
  • 負載平衡器子網路的閘道應監聽免費 ARP,將封包轉送至主要負載平衡器。

後續步驟