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