共用方式為


Azure Kubernetes Service (AKS) 中應用程式的網路概念

在應用程式開發的容器型微服務方法中,應用程式元件搭配運作以處理其工作。 Kubernetes 提供各種資源以啟用這類合作:

  • 您可以在內部或外部連接和公開應用程式。
  • 您可以對應用程式載入平衡,以建置具有高可用性的應用程式。
  • 您可以限制進入 Pod 和節點或其間的網路流量,以提升安全性。
  • 針對較複雜的應用程式,您可以設定終止 SSL/TLS 的輸入流量或多個元件的路由。

本文將介紹為 AKS 中的應用程式提供網路功能的核心概念:

Kubernetes 網路基本概念

Kubernetes 採用虛擬網路層來管理應用程式或其元件內和其間的存取:

  • Kubernetes 節點和虛擬網路:Kubernetes 節點會連線到虛擬網路。 此設定可讓 Pod (Kubernetes 中的基本部署單位) 同時具有輸入和輸出連線能力。

  • Kube-proxy 元件:kube-proxy 會在每個節點上執行,並負責提供必要的網路功能。

關於特定的 Kubernetes 功能:

  • 負載平衡器:您可以使用負載平衡器,將網路流量平均分散到各種資源。
  • 輸入控制器:這些有助於第 7 層路由,這對於引導應用程式流量至關重要。
  • 輸出流量控制:Kubernetes 可讓您管理和控制來自叢集節點的輸出流量。
  • 網路原則:這些原則會啟用安全性措施,並篩選 Pod 中的網路流量。

在 Azure 平台的內容中:

  • Azure 會簡化 AKS (Azure Kubernetes Service) 叢集的虛擬網路。
  • 在 Azure 上建立 Kubernetes 負載平衡器會同時設定對應的 Azure 負載平衡器資源。
  • 當您對 Pod 開放網路連接埠時,Azure 會自動設定必要的網路安全性群組規則。
  • 建立新的輸入路由時,Azure 也會管理 HTTP 應用程式路由的外部 DNS 設定。

Azure 虛擬網路

在 AKS 中,您可以部署使用下列任意網路模型的叢集:

  • 重迭網路模型:覆迭網路是 Kubernetes 中使用的最常見網路模型。 Pod 會從私人、邏輯上將 CIDR 與部署 AKS 節點的 Azure 虛擬網路子網分隔開來。 相較於一般網路模型,此模型可簡化、改善的延展性。
  • 一般網路模型:AKS 中的一般網路模型會將IP位址指派給來自與 AKS 節點相同 Azure 虛擬網路之子網的 Pod。 離開叢集的任何流量都不是 SNAT,而 Pod IP 位址會直接公開至目的地。 此模型對於將 Pod IP 位址公開至外部服務等案例很有用。

如需 AKS 中網路模型的詳細資訊,請參閱 AKS 中的 CNI 網路功能。

控制輸出流量

AKS 叢集會部署在虛擬網路上,並具有該虛擬網路外部服務的輸出相依性。 這些輸出相依性幾乎完全以網域名稱定義 (FQDN)。 根據預設,AKS 叢集具有不受限制的輸出網際網路存取,這可讓您執行的節點和服務視需要存取外部資源。 如有需要,您可以限制輸出流量。

如需詳細資訊,請參閱控制 AKS 中叢集節點的輸出流量

網路安全性群組

網路安全性群組可篩選 VM 的流量,例如 AKS 節點。 當您建立服務 (例如 LoadBalancer) 時,Azure 平台會自動設定任何必要的網路安全性群組規則。

您無須以手動方式設定對 AKS 叢集中的 Pod 進行流量篩選的網路安全性群組規則。 您可以將任何必要的連接埠和轉送定義為 Kubernetes 服務資訊清單的一部分,然後由 Azure 平台建立或更新適當的規則。

您也可以使用網路原則,自動將流量篩選規則套用至 Pod。

如需詳細資訊,請參閱網路安全性群組如何篩選網路流量

網路原則

根據預設,AKS 叢集中的所有 Pod 都可以無限制地傳送及接收流量。 為了提升安全性,請定義控制流量的規則,例如:

  • 後端應用程式只對必要的前端服務公開。
  • 或者,只有連線到資料庫元件的應用層才能存取資料庫元件。

網路原則是 AKS 中提供的 Kubernetes 功能,可以控制 OPod 之間的流量。 您可以根據指派的標籤、命名空間或流量連接埠等設定,允許或拒絕傳送至 Pod 的流量。 雖然網路安全性群組更適合 AKS 節點,但網路原則是更適合的雲端原生方式,可控制 Pod 流量的流程。 由於 Pod 是在 AKS 叢集中動態建立的,因此可以自動套用所需的網路原則。

如需詳細資訊,請參閱使用 Azure Kubernetes Service (AKS) 中的網路原則來保護 Pod 之間的流量 (部分機器翻譯)。

下一步

若要開始使用 AKS 網路功能,請使用 Azure CNI 重疊Azure CNI,使用您自己的 IP 位址範圍建立和設定 AKS 叢集。

如需相關的最佳作法,請參閱 AKS 中的網路連線和安全性最佳做法

如需有關 Kubernetes 及 AKS 核心概念的詳細資訊,請參閱下列文章: