AKS托管Istio入口网关的注解支持扩展解析
AKS Azure Kubernetes Service 项目地址: https://gitcode.com/gh_mirrors/ak/AKS
在Azure Kubernetes服务(AKS)的托管Istio入口网关使用场景中,开发团队经常需要定制化负载均衡器的行为。近期AKS团队针对这一需求进行了重要功能增强,允许用户通过特定注解来精细控制入口网关的负载均衡器配置。
背景与挑战
当使用AKS托管的Istio入口网关时,系统会自动创建关联的Azure负载均衡器。默认情况下,该负载均衡器会对端口80执行健康检查,这在仅需暴露443端口的场景中会导致"Degraded"状态。虽然可以通过配置Istio监听80端口并重定向到443来解决,但这并非最优方案。
解决方案演进
AKS团队在2024年9月18日的更新中首次引入了对部分服务注解的支持,包括子网配置、安全规则、允许的服务标签等。基于用户反馈,团队进一步扩展了支持的注解范围,新增了对service.beta.kubernetes.io/port_80_no_lb_rule=true
注解的支持。
技术实现细节
这一注解的作用是显式告知Azure负载均衡器不要为80端口创建规则,从而避免不必要的健康检查。该功能通过以下方式工作:
- 当用户在入口网关服务上添加该注解时
- AKS控制平面会识别并保留该配置
- 底层负载均衡器将跳过80端口的探测配置
- 系统仅维持对443端口的健康检查
部署与验证
该功能随AKS v20250130版本逐步向各区域推出。用户可以通过以下步骤验证和使用:
- 确认所在区域已获得该版本更新
- 使用kubectl为入口网关服务添加注解
- 观察负载均衡器状态变化
- 验证443端口的流量不受影响
最佳实践建议
对于需要完全自定义DNS记录的场景,建议:
- 先通过注解固定负载均衡器IP
- 再在DNS服务商处手动创建记录
- 等待即将推出的Gateway API集成提供更完善的解决方案
总结
AKS对托管Istio入口网关注解支持的扩展,体现了平台对用户实际需求的快速响应。这一改进不仅解决了负载均衡器状态误报问题,也为用户提供了更灵活的入口网关配置选项。随着Gateway API支持的即将到来,AKS的Service Mesh能力将进一步完善。
AKS Azure Kubernetes Service 项目地址: https://gitcode.com/gh_mirrors/ak/AKS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考