规划控制平面端点

每个集群都需要一个稳定的 Kubernetes API 端点。在创建集群之前选择端点模式,并在 kubeadm 初始化控制平面后保持地址稳定。

提供商与版本边界

端点能力取决于提供商版本。仅有 ACP 次要版本并不能启用提供商功能。

提供商最后验证的提供商版本文档化的端点模式
Huawei DCSv1.0.21外部负载均衡器。单个控制平面节点仅可在开发或 PoC 场景中使用其自身 IP。此版本不支持 type: internal
VMware vSpherev1.0.16外部负载均衡器。该提供商不会部署自建 VIP 组件。
裸金属Pre-GA 提供商 APIInternal 自建 VIP 和 External 负载均衡器。由于没有更早的 GA 版本可供保留,Bare Metal 指南同时记录这两种模式,而不采用旧版本工作流。
Huawei Cloud Stack提供商管理的 HCS ELB请使用 在 Huawei Cloud Stack 上创建集群 中的端点字段和 ELB 工作流。

在提供商发行说明和本文档明确写出支持该功能的确切提供商版本之前,不要为 DCS 或 vSphere 配置 internal 或自建 VIP 模式。

在升级 Kube-OVN 之前升级控制平面 中 DCS v1.0.22 and later 的边界仅描述全源 Kube-OVN 调和,并且仅在安装了此类提供商版本时适用。它并不表示 v1.0.22 可作为正式的提供商包使用,也不表示该版本支持自建 VIP。对于端点规划而言,v1.0.21 仍然是最后一个经过验证的 DCS 版本,并且在提供商发行说明和包定义新的端点能力边界之前,外部负载均衡器仍然是文档中定义的模式。

外部负载均衡器契约

在应用 Cluster API 资源之前,先部署并验证负载均衡器。

要求契约
监听器使用带 TLS 直通的四层 TCP 转发。由 Kubernetes API server 而不是负载均衡器终止 TLS。
前端使用一个稳定的 VIP 或 FQDN 和 TCP 端口 6443。在创建集群前预留该地址。
后端将每个控制平面节点的 IP 都加入 TCP 端口 6443。不要添加工作节点。
健康检查优先使用到 https://<control-plane-node-ip>:6443/healthz 的 HTTPS 检查,并要求 HTTP 200。如果设备只支持 TCP 检查,请注明该检查只能证明端口可达,而不能证明 API server 健康。
后端归属当控制平面节点被添加、替换或移除时,负载均衡器所有者必须更新后端成员关系。DCS 和 vSphere 提供商不会管理外部负载均衡器后端。
引导可达性在 Cluster API 创建控制平面期间,引导主机或当前管理集群必须能够访问前端端点。
节点可达性所有控制平面节点都必须能够访问该端点。业务集群端点也必须能够从 global 集群访问。
名称与证书如果前端是 FQDN,请在创建集群前创建 DNS,并将该 FQDN 包含到 API server 证书 SAN 中。

对于 ACP 端口要求,请使用权威页面,而不要将完整端口矩阵复制到本文档中:

WARNING

集群初始化后,不要将控制平面端点作为常规负载均衡器编辑进行更改。该端点会嵌入到 API server 证书、kubeconfig 以及管理集群连接中。更改它需要一次有计划的证书和连通性迁移。

验证外部负载均衡器

在创建集群之前,请确认监听器已存在,并且引导环境或管理环境能够打开前端端口:

nc -vz <control-plane-endpoint> 6443

在至少有一个 API server 运行之后,从代表负载均衡器的网络位置验证首选健康检查:

curl -kfsS https://<control-plane-node-ip>:6443/healthz

期望响应为 ok,HTTP 状态为 200

自建 VIP 契约

仅当确切的提供商版本支持自建 VIP 模式时,才使用此契约。在当前文档覆盖的范围内,这适用于 pre-GA 的 Bare Metal 提供商 API。

  • 在承载 VIP 的控制平面接口所在的同一二层网络中,预留一个未使用的 IPv4 地址。
  • 使用在该二层域中唯一的 VRID。
  • 允许控制平面节点与周边网络之间的 VRRP 流量和 gratuitous ARP 更新。
  • 为高可用性至少使用三个控制平面节点。
  • 确保节点镜像暴露 Linux IPVS 子系统,并允许 Alive 将 net.ipv4.conf.all.arp_accept=1net.ipv4.vs.conntrack=1 设置为启用。
  • 对于自建 VIP,请使用 IP 地址而不是域名。
  • 当控制平面节点被替换时,让提供商和 Alive 重新调和 VIP 与后端成员关系。不要为同一个 VIP 维护第二份手动后端列表。

有关 Bare Metal 的清单和验证,请参见 在 Bare Metal 上创建集群