如何在Azure DevOps中创建可访问私有AKS集群的Kubernetes服务连接
Azure DevOps创建私有AKS集群服务连接的实现方案
这个需求完全可以实现,相比公网可访问的非私有AKS集群,仅多了网络连通性的前置校验要求,常见实现方案分两种:
- 方案一:适配开启了公网访问白名单的私有AKS
如果你使用Azure DevOps微软托管代理运行流水线,只要把对应区域的托管代理出口IP段,添加到AKS API服务器的公网访问白名单中,后续就可以直接按照普通AKS的流程创建服务连接:选择Kubernetes服务连接类型,认证方式绑定对应Azure订阅下的目标AKS集群,系统会自动完成权限校验。
注意:如果你的AKS集群完全禁用了公网访问,仅允许VPC内网访问,该方案不适用。 - 方案二:适配完全禁用公网访问的私有AKS
这种场景推荐使用Azure DevOps自托管代理实现,也是官方首推的高安全方案:- 将自托管代理部署在和私有AKS集群同VPC、或者已经和AKS VPC打通了对等连接/专线的网络环境中,确保代理节点可以正常解析、访问AKS API服务器的内网地址
- 登录自托管代理节点,执行
kubectl cluster-info验证集群连通性,确认节点上的kube config配置正确 - 回到Azure DevOps控制台创建Kubernetes服务连接,认证方式选择Kubeconfig,把代理节点上验证通过的kube config内容粘贴到对应输入框,保存后即可正常使用
如果使用Azure服务主体作为认证方式,只需提前给服务主体分配AKS集群的对应访问权限,同时满足上述网络连通性要求即可,无需额外调整kube config配置。
内容的提问来源于stack exchange,提问作者Shruthi Bhaskar
相关产品推荐
相关产品推荐

