IP 地址块文件

本页面介绍了在 Google Distributed Cloud 设置中使用的 IP 地址块文件中的字段。

您可以使用 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 及更低版本的高可用性管理员集群:在 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 中的虚拟机名称作为主机名。

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 地址添加到 VSphereInfraConfig 自定义资源中的 topologyDomains[i].network.gateway

有三个 IP 地址使用 isControlPlane: true 进行配置,这表示这些 IP 地址仅预留用于控制平面节点。在管理员集群或用户集群的 IP 地址块文件中,必须为控制平面节点预留三个 IP 地址。请根据集群的适用拓扑,在目标子网中预留这些地址。

由于控制平面节点必须位于单个拓扑网域中,因此控制平面节点的 IP 地址必须位于同一 IP 地址块中。