共用方式為


Azure Kubernetes Service 中的輸入 (AKS)

AKS 中的輸入是 Kubernetes 資源,可管理叢集中服務的外部類似 HTTP 的流量存取。 AKS 輸入可以提供負載平衡、SSL 終止和名稱型虛擬裝載等服務。 如需 Kubernetes 輸入的詳細資訊,請參閱 Kubernetes 輸入檔

輸入控制器

管理應用程式流量時,輸入控制器會藉由在第7層運作來提供進階功能。 他們可以根據輸入 URL 將 HTTP 流量路由傳送至不同的應用程式,以允許更智慧且彈性的流量分配規則。 例如,輸入控制器可以根據 URL 路徑將流量導向至不同的微服務,以提高服務的效率與組織。

另一方面,建立LoadBalancer類型服務時,會設定基礎 Azure 負載平衡器資源。 此負載平衡器可在第 4 層運作,將流量分散到您服務中指定埠上的 Pod。 不過,第 4 層服務並不知道實際的應用程式,而且無法實作這些類型的複雜路由規則。

瞭解這兩種方法之間的差異有助於為您的流量管理需求選取正確的工具。

顯示 AKS 叢集中輸入流量流量的圖表

比較輸入選項

下表列出不同輸入控制器選項之間的功能差異:

功能 應用程式路由附加元件 容器的應用程式閘道 Azure 服務網格/Istio 型服務網格
輸入/閘道控制器 NGINX 輸入控制器 適用於容器的 Azure 應用程式閘道 Istio 輸入閘道
API 輸入 API 輸入 API 和閘道 API 閘道 API
裝載 叢集中 Azure 託管 叢集中
調整大小 自動調整 自動調整 自動調整
負載平衡 內部/外部 外部 內部/外部
SSL 終止 叢集中 是:卸除和 E2E SSL 叢集中
mTLS N/A 是至後端 N/A
靜態IP位址 N/A FQDN N/A
Azure 金鑰保存庫 儲存的 SSL 憑證 Yes N/A
DNS 區域管理的 Azure DNS 整合 Yes N/A

下表列出您可以使用每個輸入控制器的不同案例:

輸入選項 使用時機
受控 NGINX - 應用程式路由附加元件 • 叢集中裝載、可自定義且可調整的 NGINX 輸入控制器。
• 基本負載平衡和路由功能。
• 內部和外部負載平衡器組態。
• 靜態IP位址設定。
• 與 Azure 金鑰保存庫 整合以進行憑證管理。
• 與 Azure DNS 區域整合,以進行公用和私人 DNS 管理。
• 支援輸入 API。
適用於容器的 應用程式閘道 • Azure 裝載的輸入閘道。
• 由控制器管理的彈性部署策略,或為容器自備 應用程式閘道。
• 進階流量管理功能,例如自動重試、可用性區域復原、相互驗證 (mTLS) 至後端目標、流量分割/加權迴圈配置資源,以及自動調整。
• 與 Azure 金鑰保存庫 整合以進行憑證管理。
• 與 Azure DNS 區域整合,以進行公用和私人 DNS 管理。
• 支援輸入和閘道 API。
Istio 輸入閘道 • 使用 Istio 做為服務網格時,根據 Envoy。
• 進階流量管理功能,例如速率限制和斷路器。
• 支援 mTLS
• 支持閘道 API。

建立輸入資源

應用程式路由附加元件是在 AKS 中設定輸入控制器的建議方式。 應用程式路由附加元件是 Azure Kubernetes Service (AKS) 的完全受控輸入控制器,可提供下列功能:

  • 根據 Kubernetes NGINX 輸入控制器,輕鬆設定受控 NGINX 輸入控制器。

  • 與 Azure DNS 整合,以進行公用和私人區域管理。

  • 使用儲存於 Azure Key Vault 中的憑證進行 SSL 終止。

如需應用程式路由附加元件的詳細資訊,請參閱使用應用程式路由附加元件的受控 NGINX 輸入 (部分機器翻譯)。

用戶端來源 IP 保留

設定輸入控制器,以在 AKS 叢集中容器的要求上保留用戶端來源 IP。 當您的輸入控制器將用戶端的要求路由傳送至 AKS 叢集中的容器時,該要求的原始來源 IP 無法提供給目標容器。 當您啟用用戶端來源 IP 保留時,用戶端的來源 IP 可在 X-Forwarded-For 下的要求標頭中取得。

如果您在輸入控制器上使用用戶端來源 IP 保留,則無法使用 TLS 傳遞。 用戶端來源 IP 保留和 TLS 傳遞可以與其他服務搭配使用,例如 LoadBalancer 類型。

若要深入了解用戶端來源 IP 保留,請參閱用戶端來源 IP 保留如何適用於 AKS 中的 LoadBalancer 服務 (英文)。