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

如何配置AKS集群仅允许连接Dev6 Pritunl VPN时执行kubectl命令

限制AKS集群kubectl访问仅允许Dev6 Pritunl VPN连接

先分析你之前方案失效的原因

  • 授权IP范围添加导致Dev6故障:大概率是你添加的IP段并非Dev6 VPN专属出口IP,该段被Dev6内部其他业务共用,限制后阻断了其他业务的正常流量。
  • 子网NSG未生效:AKS API服务器的公网访问流量不经过节点子网的NSG,子网NSG仅管控节点的入站/出站,无法限制API服务器本身的外部访问。

可行解决方案

方案1:用AKS专用端点+VPN实现私有访问

  1. 为AKS API服务器创建专用端点,将其接入集群所在虚拟网络,彻底关闭AKS公网访问:
    az aks update --name <你的AKS集群名> --resource-group <资源组名> --enable-public-ip false
    
  2. 配置Pritunl VPN与AKS所在虚拟网络对等互联(或直接让VPN客户端接入该VNet),确保连接VPN后能访问专用端点所在子网。
  3. 验证:断开VPN时kubectl get nodes会超时报错,连接后可正常操作。

方案2:修正授权IP范围配置

  1. 精准获取Dev6 Pritunl VPN的出口IP/IP段:让Dev6用户连接VPN后访问ifconfig.me获取实际出口IP,或查看Pritunl服务器的公网出口配置,确保是VPN专属的、无业务重叠的IP段。
  2. 更新AKS授权IP范围,仅添加该精准段:
    az aks update --name <你的AKS集群名> --resource-group <资源组名> --authorized-ip-ranges <VPN出口IP/段>
    
  3. 测试:确认连接VPN可操作kubectl,断开则无法访问,同时检查Dev6内部业务是否正常,若仍有故障,进一步缩小IP范围到单个IP。

方案3:用Azure Firewall管控AKS API访问

  1. 在AKS所在VNet部署Azure Firewall,将AKS API的公网流量路由到Firewall。
  2. 在Firewall中创建应用规则,仅允许Dev6 VPN的IP段访问AKS API的FQDN(格式为aks-<集群ID>.<区域>.azmk8s.io)。
  3. 配置AKS的出站路由为用户自定义路由,确保流量强制经过Firewall。

补充:NSG生效的正确用法

如果坚持用NSG,需要配合AKS专用端点:

  • 给专用端点所在子网添加NSG入站规则,允许Dev6 VPN IP段访问443端口,这样只有VPN连接能通过专用端点访问AKS API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:46:04