Azure子网未关联NSG与绑定空NSG的差异及AKS失效问题咨询
未关联NSG的子网与绑定默认空白NSG的子网差异
- 未关联任何NSG的子网:Azure 底层默认放行所有进出方向的流量,无任何访问限制,VNET内部、公网、关联服务的流量都可以自由进出子网。
- 绑定默认空白NSG的子网:NSG 存在用户不可见的隐式默认规则,并非真的无访问限制:
- 入站方向:仅默认放行同一VNET内部流量、Azure负载均衡健康探测流量,其余所有入站流量全部被隐式拒绝
- 出站方向:默认放行所有出站流量
添加空白NSG导致AKS失效的原因
AKS 集群的正常运行高度依赖控制平面与工作节点之间的通信,空白NSG的隐式入站拒绝规则会直接拦截这类必要流量:
- AKS 托管控制平面的组件(kube-apiserver等)需要主动向子网内的工作节点发起请求,完成pod调度、健康检查、证书更新、配置同步等操作,这类请求的来源IP属于AKS托管的控制平面网段,不属于当前VNET内部范围,会被空白NSG的默认入站规则直接拦截,导致节点与控制平面失联,集群无法正常工作。
- 如果集群配置了Ingress、监控采集、CI/CD部署等能力,这类来自外部的入站流量也会被空白NSG拦截,进一步影响集群业务可用性。
如果需要为AKS子网绑定NSG,需要手动添加入站规则放行AKS控制平面网段、必要服务端口的访问请求,匹配无NSG时的放行逻辑才能保证集群正常运行。
内容的提问来源于stack exchange,提问作者Allan Xu
相关产品推荐
相关产品推荐

