IP 區塊檔案

本頁說明 IP 區塊檔案中的欄位,這些欄位用於設定 Google Distributed Cloud。

您可以使用 IP 區塊檔案,描述一組節點機器,以及機器連線的網路。為每個叢集分別建立 IP 區塊檔案。管理員和使用者叢集設定檔都有名為 network.ipMode.ipBlockFilePath 的欄位。您可以在這個欄位中指定 IP 區塊的絕對或相對路徑。

在下列情況中,請使用 IP 區塊檔案列出 IP 位址,並視需要列出主機名稱:

  • 使用者叢集:

    • 如果使用者叢集設定檔中的 network.ipMode.type 設為 "static",請在使用者叢集 IP 區塊檔案中列出工作站節點的 IP 位址。

    • 如果管理員叢集設定檔中已設定 infraConfigFilePath (啟用拓撲網域),請在使用者叢集 IP 區塊檔案中列出控制層節點的 IP 位址。即使工作站節點使用 DHCP,控制層節點的 IP 位址一律為靜態 IP 位址。

  • 管理員叢集:

    • 如果管理員叢集設定檔中已設定 infraConfigFilePath (可啟用拓撲網域),請在管理員叢集 IP 區塊檔案中列出控制層節點的 IP 位址。

    • 1.16 以下的非高可用性管理員叢集:列出管理員叢集 IP 區塊檔案中控制層節點和外掛程式節點的 IP 位址。

    • 1.16 以下的 HA 管理員叢集:在 IP 區塊檔案中列出外掛程式節點的 IP 位址。

    • 1.29 以下的 kubeception 使用者叢集:在管理員叢集 IP 區塊檔案中,列出使用者叢集控制層節點的 IP 位址。

範本

填寫 IP 區塊檔案中的欄位

本節說明 IP 區塊檔案中的欄位。

blocks

物件陣列,每個物件都說明一組主機。

blocks[i].netmask

字串。這組主機的子網路遮罩。例如:

blocks:
- netmask: "255.255.252.0"

blocks[i].gateway

字串。這組主機的預設閘道位址。例如:

blocks:
- netmask: "255.255.252.0"
  gateway: "172.16.23.254"

blocks[i].ips

物件陣列。每個物件都有個別的 IP 位址或 IP 位址的 CIDR 區塊。

  • 如果物件有專屬 IP 位址,也可以選擇性地設定主機名稱。

  • 如果將 ip 設為 CIDR 區塊,請勿為 hostname 指定值。

  • 如果未指定 hostname 的值,Google Distributed Cloud 會使用 vSphere 中的 VM 名稱做為主機名稱。

blocks[i].isControlPlane

如果管理員叢集設定檔中已設定 infraConfigFilePath,且 IP 位址適用於控制層節點,請加入 isControlPlane: true。如為使用者叢集工作站節點,請指定 false 或省略這個欄位,因為預設值為 false

設定檔範例

本節提供一些設定,並填入範例值。

範例 1

這個範例指定了六個 IP 位址:兩個個別位址和一個四個位址的 CIDR 區塊。

blocks:
- netmask: "255.255.252.0"
  gateway: "203.0.113.1"
  ips:
  - ip: 198.51.100.10
    hostname: worker-node1
  - ip: 198.51.100.11
    hostname: worker-node2
  - ip: 198.51.100.12/30  # 198.51.100.12 - 198.51.100.15

範例 2

這個範例顯示為拓撲網域設定的 IP 封鎖檔案。

blocks:
- netmask: 255.255.255.0
  gateway: 100.115.222.254
  ips:
  - ip: 100.115.222.204
    hostname: worker-1
  - ip: 100.115.222.205
    hostname: cp-1
    isControlPlane: true
  - ip: 100.115.222.206
    hostname: cp-2
    isControlPlane: true
  - ip: 100.115.222.207
    hostname: cp-3
    isControlPlane: true
  - ip: 100.115.222.220/28 # 100.115.222.208 - 100.115.222.223
- netmask: 255.255.255.0
  gateway: 100.115.223.254
  ips:
  - ip: 100.115.223.206
    hostname: worker-2
  - ip: 100.115.223.220/28 # 100.115.223.208 - 100.115.223.223
- netmask: 255.255.255.0
  gateway: 100.115.224.254
  ips:
  - ip: 100.115.224.206
    hostname: worker-3
  - ip: 100.115.224.220/28 # 100.115.224.208 - 100.115.224.223

這個 IP 區塊檔案會保留三個子網路的 IP 位址,每個子網路都以 blocks[i] 表示。blocks[i].gateway非常重要,因為這是 IP 區塊的識別碼。您可以在 vSphere 基礎架構設定檔中,將相同 IP 位址新增至 VSphereInfraConfigVSphereInfraConfig 自訂資源的 topologyDomains[i].network.gateway

有三個 IP 設定為 isControlPlane: true,表示這些 IP 位址僅保留給控制層節點。在管理員叢集或使用者叢集的 IP 區塊檔案中,必須為控制層節點預留三個 IP 位址。根據叢集的適用拓撲,在目標子網路中預留這些 IP 位址。

由於控制層節點必須位於單一拓撲網域,控制層節點的 IP 位址必須位於相同的 IP 區塊。