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