在本文中,您將學習 Azure Kubernetes Service(AKS)的應用程式網路選項。 我們首先提出一個問題,幫助引導你的規劃,然後提供選項、建議和最佳實務。
你想如何存取你的應用程式?
應用程式網路控制了在 Kubernetes Pod 中運行的應用程式如何暴露給叢集外部的用戶端。
應用程式網路選項
在設定應用程式網路時,你可以選擇 具備第 4 層負載平衡的負載平衡服務 ,或 具備第 7 層負載平衡的入口控制器:
| 應用程式網路選項 | 功能與特色 |
|---|---|
| 負載平衡器服務 | • 使用 Kubernetes LoadBalancer Service 直接將應用程式暴露在公有或私有 IP 上。 • 支援多個埠口及任何 TCP 或 UDP 流量。 • 每個應用程式至少需要一組獨特的 IP 位址和埠號。 |
| 入口控制器 | • 將應用程式公開至第 7 層反向 Proxy 後方。 • 僅可用於類 HTTP 流量(HTTP、HTTPS、gRPC)。 • 可共用單一公共 IP 及所有入口定義的埠口,並用於同一入口控制器。 • 受控輸入選項包括:透過應用程式路由附加元件的受控 ingress-nginx、適用於容器的 Azure 應用程式閘道 (建議選項),以及 Istio 輸入閘道。 |
Recommendations
對於 非 HTTP 流量,我們建議使用 Load Balancer Service 搭配第 4 層負載平衡。 此方法提供直接存取您的應用程式,並支援多種協定。 對於 類似 HTTP 的流量,我們建議使用 Ingress 控制器,並具備第 7 層負載平衡功能。 這種方式能利用進階路由功能,為多個應用程式共用單一公共 IP。