本文提供指引,說明 Google Distributed Cloud 中管理員叢集和使用者叢集所需的 IP 位址數量。
DHCP 或靜態
如果您的網路有 DHCP 伺服器,可以設定管理員叢集或使用者叢集,讓叢集從 DHCP 伺服器取得工作站節點的 IP 位址。在叢集設定檔中,將 network.ipMode.type 設為 "dhcp"
。
如要為叢集指定靜態 IP 位址,請將 network.ipMode.type
設為「static」。
管理員叢集需要多少個 IP 位址?
高可用性 (HA) 管理員叢集必須有三個 IP 位址,供控制層節點使用。
管理員叢集會管理一或多個使用者叢集。如果使用者叢集已啟用 Controlplane V2,使用者叢集控制層節點會在使用者叢集中執行。啟用 Controlplane V2 的使用者叢集不會影響管理員叢集所需的 IP 位址數量。
如果使用者叢集未啟用 Controlplane V2,使用者叢集的控制層會在管理員叢集的一或多個節點上執行 (kubeception)。在 kubeception 案例中,管理員叢集也需要下列項目的 IP 位址:
對於每個 HA 使用者叢集,管理員叢集需要三個節點,才能執行使用者叢集的控制層
對於每個非高可用性使用者叢集,管理員叢集需要一個節點來執行使用者叢集的控制層
如果未啟用 Controlplane V2,請先確認管理員叢集有足夠的 IP 位址,可供使用者叢集控制層節點使用,再新增使用者叢集。如果使用 DHCP,請確認 DHCP 伺服器可以提供額外的 IP 位址。
範例:
說明 | IP 位址數量 |
---|---|
管理 Controlplane V2 使用者叢集的高可用性管理員叢集 3 個控制層節點 |
3 |
管理高可用性 kubeception 使用者叢集的高可用性管理員叢集 3 個控制層節點 + 3 個使用者叢集控制層節點 |
6 |
使用者叢集需要多少 IP 位址?
如果啟用 Controlplane V2 (預設為啟用),則會有一或三個節點在使用者叢集上執行控制層:
非高可用性 (非 HA) 使用者叢集的一個節點
高可用性使用者叢集的三個節點
每個工作站節點 (執行工作負載的節點) 各有一個 IP 位址
升級、更新和自動修復期間暫時使用的額外 IP 位址。
啟用 Controlplane V2 後,如要為使用者叢集新增更多工作站節點,請確保使用者叢集有足夠的 IP 位址可供控制層節點使用。如果您使用 DHCP,請確認 DHCP 伺服器可以提供額外的 IP 位址。
範例:
說明 | IP 位址數量 |
---|---|
非高可用性使用者叢集、Controlplane V2 3 個工作站節點 + 1 個控制層節點 + 1 個額外節點 |
5 |
高可用性使用者叢集、Controlplane V2 3 個工作站節點 + 3 個控制層節點 + 1 個額外節點 |
7 |
使用者叢集、kubeception 3 個工作站節點 + 1 個額外節點 |
4 |
管理員叢集的靜態 IP 位址
本節說明如何管理管理員叢集的靜態 IP 位址。
您必須為管理員叢集控制層節點指定三個 IP 位址。 在管理員叢集設定檔的network.controlPlaneIPBlock 區段中指定這些位址。
如果您打算建立 kubeception 使用者叢集,則必須指定使用者叢集控制層節點使用的 IP 位址。請在IP 封鎖檔案中指定這些地址。接著,在管理員叢集設定檔中,於 network.ipMode.ipBlockFilePath 欄位提供 IP 區塊檔案的路徑。
舉例來說,假設您打算建立兩個 kubeception 使用者叢集:一個是高可用性叢集,另一個則不是。高可用性使用者叢集在管理員叢集中會有三個控制層節點,非高可用性使用者叢集在管理員叢集中則會有一個控制層節點。因此您需要指定四個 IP 位址,以及一個用於更新的額外 IP 位址。
以下是含有五個 IP 位址的 IP 封鎖檔案範例:
blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.50 hostname: admin-vm-1 - ip: 172.16.20.51 hostname: admin-vm-2 - ip: 172.16.20.52 hostname: admin-vm-3 - ip: 172.16.20.53 hostname: admin-vm-4 - ip: 172.16.20.54 hostname: admin-vm-5
將 IP 位址新增至管理員叢集
如要為管理員叢集中的節點提供更多 IP 位址,請將位址新增至 IP 區塊檔案,然後執行下列指令來更新管理員叢集:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG--config ADMIN_CLUSTER_CONFIG
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑
ADMIN_CLUSTER_CONFIG:管理員使用者叢集設定檔的路徑
使用者叢集的靜態 IP 位址
本節說明如何管理使用者叢集的靜態 IP 位址。
判斷可供使用者叢集節點使用的 IP 位址
使用者叢集的 IP 區塊檔案會列為使用者叢集設定檔中 network.ipMode.ipBlockFilePath 的值。在 IP 區塊檔案中,您可以查看使用者叢集工作站節點可用的 IP 位址。
舉例來說,以下是含有四個 IP 位址的 IP 區塊檔案:
blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.55 hostname: user-vm-1 - ip: 172.16.20.56 hostname: user-vm-2 - ip: 172.16.20.57 hostname: user-vm-3 - ip: 172.16.20.58 hostname: user-vm-4
IP 區塊檔案不包含使用者叢集控制層節點的位址。如果使用者叢集已啟用控制層 V2,控制層節點的 IP 位址會位於使用者叢集設定檔的 network.controlPlaneIPBlock 區段。否則,使用者叢集控制層節點的 IP 位址會位於管理員叢集的 IP 區塊檔案中。
將 IP 位址新增至使用者叢集
如要為使用者叢集中的節點提供更多 IP 位址,請在 IP 區塊檔案中新增位址,然後執行下列指令來更新使用者叢集:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG--config USER_CLUSTER_CONFIG
更改下列內容:
ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑
USER_CLUSTER_CONFIG:使用者叢集設定檔的路徑