本文介绍 Azure Kubernetes 服务(AKS)的应用程序网络选项。 我们首先提出一个问题来帮助指导你的规划,然后提供选项、建议和最佳做法。
如何访问应用程序?
应用程序网络控制 Kubernetes Pod 中运行的应用程序如何从群集外部向客户端公开。
应用程序网络选项
设置应用程序网络时,可以在具有 第 4 层负载均衡的负载均衡器服务 或 具有第 7 层负载均衡的入口控制器之间进行选择:
| 应用程序网络选项 | 特性和功能 |
|---|---|
| 负载均衡器服务 | • 使用 Kubernetes LoadBalancer 服务直接公开公共或专用 IP 上的应用程序。 • 支持多个端口以及任何 TCP 或 UDP 流量。 • 每个应用程序 至少需要一个唯一 的 IP:端口对。 |
| 入口控制器 | • 在第 7 层反向代理后面公开应用程序。 • 仅适用于类似 HTTP 的流量(HTTP、HTTPS、gRPC)。 • 可以为同一入口控制器上的所有入口定义共享单个公共 IP 和端口。 • 托管入口选项包括:通过 应用程序路由加载项 的托管 ingress-nginx 和 Istio 入口网关。 |
Recommendations
对于 非 HTTP 流量,建议将 负载均衡器服务与第 4 层负载均衡配合使用。 此方法提供对应用程序的直接访问并支持各种协议。 对于 类似 HTTP 的流量,我们建议将 入口控制器与第 7 层负载均衡配合使用。 此方法允许你利用高级路由功能,并为多个应用程序共享单个公共 IP。