10.2. VIP DHCP 分配
VIP DHCP 分配是允许用户跳过为 API 和 Ingress 手动提供虚拟 IP 和 Ingress 的要求,利用服务从 DHCP 服务器自动分配这些 IP 地址。
如果您启用 VIP DHCP 分配功能,该服务将不会使用集群配置中定义的 api vip。相反,它将从计算机网络上的 DHCP 服务器请求 IP 地址,并相应地使用分配的 VIP。
_vips 和 ingress_
请注意,这不是 OpenShift Container Platform 功能,它已在辅助服务中实施,以简化配置。有关 VIP 地址语法的详细解释,请参阅"添加资源"。
VIP DHCP 分配目前仅限于 OpenShift Container Platform SDN 网络类型。OpenShift Container Platform 版本 4.15 及更新版本不支持 SDN。因此,对 VIP DHCP 分配的支持也会从 OpenShift Container Platform 4.15 及之后版本结束。
10.2.1. 启用 VIP DHCP 分配 复制链接链接已复制到粘贴板!
您可以通过 DHCP 启用自动 VIP 分配。
流程
- 按照使用 API 注册新集群的说明进行操作。详情请参阅 注册新集群。
在集群配置中添加以下有效负载设置:
-
将
vip_dhcp_allocation设置为true。 -
将
network_type设置为OpenShiftSDN。 -
包含
cluster_networks、service_networks和machine_networks的网络配置。
启用自动分配的有效负载示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
运行以下命令,将有效负载提交到 Assisted Service API 以应用配置:
curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters/<cluster-id>" \ -d @./payload.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'
$ curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters/<cluster-id>" \ -d @./payload.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.2. 禁用 VIP DHCP 分配 复制链接链接已复制到粘贴板!
如果要手动控制 VIP 分配,可以禁用 VIP DHCP 分配。
流程
- 按照使用 API 注册新集群的说明进行操作。详情请参阅 注册新集群。
在集群配置中添加以下有效负载设置:
-
将
vip_dhcp_allocation设置为false。 -
指定
api_vips和ingress_vips的 IP 地址。您可以从machine_networks配置获取这些 IP。 -
将
network_type设置为OVNKubernetes、OpenShiftSDN或另一个支持的 SDN 类型(如果适用)。 -
包括
cluster_networks和service_networks的网络配置。
禁用自动分配的有效负载示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
运行以下命令,将有效负载提交到 Assisted Service API 以应用配置:
curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters/<cluster-id>" \ -d @./payload.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'
$ curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters/<cluster-id>" \ -d @./payload.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'Copy to Clipboard Copied! Toggle word wrap Toggle overflow