本页面介绍了在 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 地址块中。