1

我正在使用 Azure 容器服务(AKS - 不是 ACS)来支持一些 API - 其中一些是供公众使用的,其中一些不是。

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

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

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

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

先感谢您!

4

1 回答 1

1

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

我会使用 ILB,而不是尝试使用 NodePort 服务类型自己制作。唯一可能是在您的 vnet 中使用某种类型的 API Gateway VM,您可以在其中定义后端池,如果您通过托管在同一 Azure VM 上的第 3 方 API Gateway 托管 API 或其他东西,这可能是一个解决方案网络。

Eddie Villalba MCSD:Azure 解决方案架构师 | CKA:认证的 Kubernetes 管理员

于 2018-02-23T15:40:55.057 回答