- 文档首页
容器服务
容器服务 VKE
用户指南
集群
管理集群
为存量集群开启 API Server 私网域名访问
管理集群
为存量集群开启 API Server 私网域名访问
为存量集群开启 API Server 私网域名访问
本节面向 2025 年 5 月 15 日之前创建的存量 VKE 托管集群,说明如何开启 API Server 私网域名访问能力,并完成存量组件与存量节点的配置切换。
为提升集群控制面的性能和稳定性,自 2026 年 5 月 15 日起 新建的 VKE 托管集群中,节点侧组件访问 API Server 的链路将逐步从 CLB VIP 访问切换为通过私网域名访问。详细说明,请参见 产品公告。 在此之前创建的存量集群,可自定义开启 API Server 私网域名访问能力。开启后,节点侧组件(如 kubelet、kube-proxy、vpc-cni)可从使用 CLB VIP 访问 API Server 切换为使用私网域名动态解析至 API Server ENI 后直通访问,提升节点侧组件访问 API Server 的性能和稳定性。
- 开启 API Server 私网域名访问能力仅适用于 VKE 托管集群。
- 以下集群已默认启用 API Server 私网域名,无需手动启用:
- 2026 年 5 月15 日 以后新建的 VKE 托管集群。
- 通过 ListClusters 查询集群是否已开启 API Server 私网域名访问,若KubernetesConfig.AdvancedConfig.InternalDnsEnabled为true,则表明已启用。
执行操作前,请务必完成以下检查,否则会导致节点无法连接 API Server。
- 开启直连后,流量将直达 API Server 的 ENI。需确保其 ENI 所在安全组规则允许直连。
- 检查节点及节点弹性网卡的安全组出方向,确保未禁止访问 6443 端口。
- API Server 域名解析依赖 VPC 默认内网 DNS(100.96.0.2和100.96.0.3)。
- 默认情况:若节点使用默认 DNS 配置,无需额外操作。
- 自定义 DNS:若在节点或容器上配置了自定义 DNS 服务器,需确保该 DNS 服务器能将*.ivolces.com或 API Server 域名转发给 VPC 默认内网 DNS 进行解析。详细操作,请参见 私网解析 PrivateZone 快速入门。
步骤一:开启 API Server 私网域名解析
"InternalDnsEnabled": true
- 更新过程中,API Server 会自动重启。您可以在 容器服务控制台 目标集群管理页的 集群任务 页面查询状态。
- 任务完成,调用 ListClusters 接口,查询KubernetesConfig.AdvancedConfig.InternalDnsEnabled参数取值,若取值为true,表示配置已生效。
修改存量节点前,通过创建新节点或新 Pod 来验证域名解析是否已对新增资源生效。
- 在集群中扩容一个新节点,新节点的 kubelet 自动使用私网域名。扩容节点相关操作,请参见 新增节点。
- 待节点就绪后,通过 ECS Terminal 方式登录节点,并执行以下命令查看其 kubelet 配置文件的 Server 地址是否为私网域名。
cat /etc/kubernetes/kubelet.conf
开启私网域名后,新建的 VCI Pod 默认通过私网域名与 API Server 交互。
在集群中新增一个 VCI Pod,确认 VCI Pod 能够正常进入 Ready 状态。详细操作,请参见 创建 VCI 实例。 步骤三:重建存量集群中重要组件 Pod 使新配置生效
Flannel 网络模型集群
VCP-CNI 网络模型集群
Flannel 网络模型下重建存量 kube-proxy Pod 使新配置生效。
注意
为确保业务平稳,建议先在测试环境或开发环境中分批删除 Pod,观察 Pod 重建正常后再 到生产环境执行删除操作。
API Server 域名生效后,VKE 会自动将 kube-proxy 的连接地址配置从 IP 切换为该域名。需要重建其存量 Pod 以加载新配置。
- 在 集群 页面,单击目标 Flannel 网络模型集群名称。
- 在集群管理页面左侧导航栏,选择 配置管理 > 配置项。
- 选择 kube-system 命名空间,查看 kube-proxy 配置项下的kubeconfig.conf是否生效。
-
- 删除 kube-proxy DaemonSet 下的 Pod,使其重建并加载新配置。
方法一
通过控制台手动删除存量 kube-proxy Pod。Pod 重建并加载新配置。
- 选择 kube-system 命名空间,找到 kube-proxy 守护进程,单击名称。
- 在 kube-proxy 详情页的 实例列表 页面逐一删除 Pod,使其重建并加载新配置。
方法二
您也可以通过 kubectl 命令,滚动更新 DaemonSet kube-proxy,使新配置在存量 kube-proxy Pod 中生效。
- 执行以下命令,滚动更新 DaemonSet kube-proxy。
kubectl rollout restart daemonset kube-proxy -n kube-system
kubectl rollout status daemonset kube-proxy -n kube-system
daemonset "kube-proxy" successfully rolled out
VPC-CNI 网络模型下更新 vpc-cni 组件确保存量组件生效。
- 在 集群 页面,单击目标 VPC-CNI 网络模型集群名称。
- 在集群管理页面左侧导航栏,单击 组件管理,找到 vpc-cni 组件,单击 配置。
- 在 vpc-cni 参数配置 页面按实际需求更新组件参数,也可以保持当前配置,然后单击 确认,触发组件配置更新。
- 在左侧导航栏选择 工作负载 > 守护进程,在 kube-system 命名空间下,找到 cello 守护进程,在右侧 操作 列下选择... > 编辑 Yaml,查看 cello 的环境变量域名是否生效。
-
kubectl rollout status daemonset/cello -n kube-system
daemonset "cello" successfully rolled out
更新存量节点的 kubelet 配置并重启服务,完成向私网域名访问的切换。为确保集群稳定性,本小节分为单节点验证和批量运维两部分。
- 选择一个存量节点,通过 ECS Terminal 方式登录节点,并执行以下命令,将 API Server 地址从 IP 切换为域名,并重启 kubelet。
sed -i.bak 's#https://{clb-ip}:6443#https://{cluster-id}.vke.{region-id}.ivolces.com:6443#g' /etc/kubernetes/kubelet.conf && \
systemctl restart kubelet && \
systemctl status kubelet
sed -i.bak 's#https://10.**.**.**:6443#https://cd6ptisscv4o*********.vke.cn-beijing.ivolces.com:6443#g' /etc/kubernetes/kubelet.conf && \
systemctl restart kubelet && \
systemctl status kubelet
- 完成后,在 容器服务控制台 节点管理 > 节点 页面观察节点,确保处于 运行中 状态。
- 单节点验证成功后,在云服务器控制台使用 云助手 功能,对剩余的存量节点分批次进行批量操作。
- 您需要在云助手页面,创建作业。其中部分参数,按如下表说明配置,其余操作和参数配置,请参见 创建作业。
- 等待作业执行完成,观测节点状态无误后重复此操作,直至完成存量节点的更新。
-
最近更新时间:2026.06.02 11:28:58