Azure 容器服务 (AKS) - 将容器暴露给其他 VNET 资源

Azure Container Services (AKS) - Exposing containers to other VNET resources

我正在使用 Azure 容器服务(AKS - 不是 ACS)来支持一些 API - 其中一些用于 public 消费,一些则不是。

对于 public 访问路由,一切都如您所料,创建了绑定到 public IP 的负载均衡器服务,DNS 区域包含我们转发到 [=23] 的 A 记录=] IP,流量被路由到 NGINX 控制器,然后转发到正确的内部服务端点。

目前,预览版分配了一个新的 VNET 来放置 AKS 资源组,今后我会将 AKS 实例放置在一个现有的 VNET 中,该 VNET 包含其他组件(应用服务,在应用服务环境中)。

我的问题是如何向同一 VNET 中的其他组件以及其他 VNET 中的组件授予对私有 API 的访问权限?

我相信 AKS 支持 ILB 类型的负载平衡器,我认为这可能是路由来自其他 VNETS 的流量所需要的?但是组件已经位于同一个 VNET 中的位置呢?

提前致谢!

如果您需要从 AKS 群集外的其他服务访问这些服务,您仍然需要一个 ILB 来平衡群集中不同节点上的服务。您可以使用通过在您的服务中使用注释创建的 ILB。另一种方法是使用 NodePort,然后串起你自己的方式来将流量分布到托管端点的所有节点上。

我会使用 ILB 而不是尝试使用 NodePort 服务类型来创建自己的。唯一的办法可能是在你的 vnet 中使用某种类型的 API 网关虚拟机,你可以在其中定义后端池,如果你通过第三方托管 API 或其他东西,这可能是一个解决方案API 托管在同一 VNet 中的 Azure VM 上的网关。

埃迪·比利亚尔巴 MCSD:Azure 解决方案架构师 | CKA:认证 Kubernetes 管理员