You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
管理集群
为存量集群开启 API Server 私网域名访问
复制全文
下载 pdf
为存量集群开启 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.InternalDnsEnabledtrue,则表明已启用。
前置检查
执行操作前,请务必完成以下检查,否则会导致节点无法连接 API Server。
  1. 检查安全组配置。
  • 开启直连后,流量将直达 API Server 的 ENI。需确保其 ENI 所在安全组规则允许直连。
  • 检查节点及节点弹性网卡的安全组出方向,确保未禁止访问 6443 端口。
  1. 检查 DNS 解析配置。
  • API Server 域名解析依赖 VPC 默认内网 DNS(100.96.0.2100.96.0.3)。
  • 默认情况:若节点使用默认 DNS 配置,无需额外操作。
  • 自定义 DNS:若在节点或容器上配置了自定义 DNS 服务器,需确保该 DNS 服务器能将*.ivolces.com或 API Server 域名转发给 VPC 默认内网 DNS 进行解析。详细操作,请参见 私网解析 PrivateZone 快速入门
操作步骤
步骤一:开启 API Server 私网域名解析
  1. 调用 UpdateClusterConfig 接口,在集群 VPC 内创建内网解析记录。
  • 请求体示例如下所示:
  • {
    "KubernetesConfig": {
    "AdvancedConfig": {
    "InternalDnsEnabled": true
    }
    }
    }
  1. 更新过程中,API Server 会自动重启。您可以在 容器服务控制台 目标集群管理页的 集群任务 页面查询状态。
  1. 任务完成,调用 ListClusters 接口,查询KubernetesConfig.AdvancedConfig.InternalDnsEnabled参数取值,若取值为true,表示配置已生效。
步骤二:验证私网域名生效情况
修改存量节点前,通过创建新节点或新 Pod 来验证域名解析是否已对新增资源生效。
ECS 节点验证
VCI Pod 验证
  1. 在集群中扩容一个新节点,新节点的 kubelet 自动使用私网域名。扩容节点相关操作,请参见 新增节点
  1. 待节点就绪后,通过 ECS Terminal 方式登录节点,并执行以下命令查看其 kubelet 配置文件的 Server 地址是否为私网域名。
  • cat /etc/kubernetes/kubelet.conf
步骤三:重建存量集群中重要组件 Pod 使新配置生效
Flannel 网络模型集群
VCP-CNI 网络模型集群
Flannel 网络模型下重建存量 kube-proxy Pod 使新配置生效。
注意
为确保业务平稳,建议先在测试环境或开发环境中分批删除 Pod,观察 Pod 重建正常后再 到生产环境执行删除操作。
API Server 域名生效后,VKE 会自动将 kube-proxy 的连接地址配置从 IP 切换为该域名。需要重建其存量 Pod 以加载新配置。
  1. 集群 页面,单击目标 Flannel 网络模型集群名称。
  1. 在集群管理页面左侧导航栏,选择 配置管理 > 配置项
  1. 选择 kube-system 命名空间,查看 kube-proxy 配置项下的kubeconfig.conf是否生效。
  1. 删除 kube-proxy DaemonSet 下的 Pod,使其重建并加载新配置。
  • 方法一
    通过控制台手动删除存量 kube-proxy Pod。Pod 重建并加载新配置。
    1. 左侧导航栏选择 工作负载 > 守护进程
    1. 选择 kube-system 命名空间,找到 kube-proxy 守护进程,单击名称。
    1. 在 kube-proxy 详情页的 实例列表 页面逐一删除 Pod,使其重建并加载新配置。
    方法二
    您也可以通过 kubectl 命令,滚动更新 DaemonSet kube-proxy,使新配置在存量 kube-proxy Pod 中生效。
    1. 通过 kubectl 连接目标集群。详细操作,请参见 使用 kubectl 连接集群
    1. 执行以下命令,滚动更新 DaemonSet kube-proxy。
    • kubectl rollout restart daemonset kube-proxy -n kube-system
    1. 执行以下命令查看滚动更新结果。
    • kubectl rollout status daemonset kube-proxy -n kube-system
    • 预期返回结果如下:
    • daemonset "kube-proxy" successfully rolled out
步骤四:修改存量节点的 kubelet 配置
更新存量节点的 kubelet 配置并重启服务,完成向私网域名访问的切换。为确保集群稳定性,本小节分为单节点验证和批量运维两部分。
  1. 单节点验证。
  1. 选择一个存量节点,通过 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
  • 命令中的变量说明如下:
  • 变量
    说明
    {clb-ip}
    当前节点/etc/kubernetes/kubelet.conf中配置的 CLB IP。
    在节点上执行 cat /etc/kubernetes/kubelet.conf命令,查看server参数的中 CLB IP。
    {cluster-id}
    集群 ID。可在集群 概览 页面获取。
    {region-id}
    地域 ID。请参见 服务地址 获取地域 ID(RegionId)。
  • 完整示例如
  • 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
  1. 完成后,在 容器服务控制台 节点管理 > 节点 页面观察节点,确保处于 运行中 状态。
  1. 单节点验证成功后,在云服务器控制台使用 云助手 功能,对剩余的存量节点分批次进行批量操作。
  • 您需要在云助手页面,创建作业。其中部分参数,按如下表说明配置,其余操作和参数配置,请参见 创建作业
  • 参数
    说明
    执行命令
    命令来源
    选择 手工输入
    命令类型
    选择 Linux Shell,然后输入如下代码块内容。
    # 在执行命令的命令内容中,填入以下参数
    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
    执行对象
    选对 VKE 集群内节点对应的 ECS 实例。
    您可以在 容器服务控制台 节点管理 > 节点 页面查看节点对应的 实例 ID
  • 等待作业执行完成,观测节点状态无误后重复此操作,直至完成存量节点的更新。
最近更新时间:2026.06.02 11:28:58
这个页面对您有帮助吗?
有用
有用
无用
无用