You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AKS集群内外IP界定规则及服务访问差异问题咨询

AKS集群IP范围判定与Service访问差异解答

1. 集群内/外IP范围的判定规则

AKS对集群内IP范围的判定完全基于集群创建阶段预定义的专属网段,只要IP落在以下网段内,就属于集群内地址范畴,其余地址均属于集群外范围:

  • 节点子网段:AKS节点(底层VM规模集实例)所在Azure VNet子网的分配地址段,对应节点物理网卡的IP所属范围
  • Pod CIDR段:用于给Pod分配IP的专属地址段,采用Kubenet网络模式时为独立规划的逻辑网段,采用Azure CNI网络模式时为节点子网中提前预留的地址段
  • Service CIDR段:专门给ClusterIP类型Service分配虚拟IP的逻辑网段,该网段不会注册到底层Azure SDN(软件定义网络)的路由表中,仅在集群内部生效

集群节点、运行在节点上的Pod会通过CNI插件、kube-proxy维护的iptables/IPVS规则识别上述网段的路由;集群VNet内未加入AKS集群的独立资源(比如用户自行创建的虚拟机),默认不持有这些网段的路由规则,无法直接寻址集群内的逻辑地址。

2. 不同类型Service访问差异的核心原因

首先纠正认知偏差:ClusterIP是纯集群内生效的虚拟IP,LoadBalancer类型Service分配的IP反而是可在集群外路由的地址,二者属性和你猜测的完全相反,具体访问逻辑如下:

ClusterIP无法从独立VM访问的原因

ClusterIP是从Service CIDR段分配的逻辑虚拟IP,仅存在于集群节点本地的转发规则中,Azure底层网络没有任何关于该IP的路由记录。独立VM不属于AKS集群节点,本地没有对应的转发规则,发往ClusterIP的流量没有可达路径,自然无法访问。ClusterIP的设计定位就是仅供集群内部的Pod、节点互访Service使用,默认不提供集群外直接访问能力。

LoadBalancer类型Service可正常访问的原因

创建LoadBalancer类型Service时,AKS会自动对接Azure负载均衡器为其分配可路由IP:公网负载均衡分配公网IP,内部负载均衡分配与集群同VNet的私网IP。这类IP直接注册在Azure SDN路由体系中,只要独立VM与该IP网络连通(同VNet、公网可达、NSG规则放行),流量就会被Azure网络转发到AKS节点,再由节点上的kube-proxy转发到后端对应Pod,因此可以正常访问。

补充说明其他地址的访问逻辑

  • NodePort类型Service:不分配专属的集群外可访问IP,仅会在所有AKS节点上开放30000-32767范围内的指定端口。从独立VM访问这类Service时,需要使用「任意AKS节点IP+对应NodePort端口」的格式访问,同时需要确保节点关联的NSG放行了对应端口的入站流量,否则无法连通。
  • Pod IP:如果集群采用Kubenet网络模式,Pod IP属于独立的逻辑网段,独立VM默认没有对应路由,无法直接访问;如果采用Azure CNI网络模式,Pod IP从节点子网分配,在NSG放行的前提下同VNet的VM可以直接访问,但生产环境不推荐直接访问Pod IP——Pod重建后IP会动态变化,不具备稳定性。

内容的提问来源于stack exchange,提问作者SmartestVEGA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:18:25