全部產品
Search
文件中心

Container Service for Kubernetes:邊緣叢集Ingress概述

更新時間:Jul 31, 2024

ACK Edge叢集中,Ingress對叢集服務(Service)中外部可訪問的API對象進行管理,提供七層負載平衡能力。本文介紹Ingress基本概念、工作原理和使用說明。

基本概念

ACK Edge叢集中,Ingress作為服務對外暴露的訪問入口,承載了叢集內幾乎所有的訪問流量。Ingress是Kubernetes中的一個資來源物件,用於管理叢集外部對於內部服務的訪問方式。通過配置Ingress資源,可以定義不同的轉寄規則,從而實現根據不同規則訪問叢集內部各Service對應的後端Pod。關於Ingress原理詳情,請參見Ingress概述

Ingress資源僅支援配置HTTP流量的規則,無法配置一些進階特性,例如負載平衡的演算法、Sessions Affinity等,這些進階特性都需要在Ingress Controller中進行配置。

如何在ACK Edge叢集部署Ingress Controller

ACK Edge叢集ACK叢集Pro版的基礎上擴充了邊緣節點池功能,用於接入邊緣節點和IDC機器。有關節點池的詳細資料,請參見節點池概述ACK Edge叢集分為以下兩個部分。

  • 雲端節點池:包含位於叢集VPC內的阿里雲ECS計算裝置等資源。

  • 邊緣節點池:叢集中可以存在多個邊緣節點池,這些節點池主要用於接入邊緣節點和IDC機器。

Ingress Controller作為外部請求流量的入口,將對應的HTTP/HTTPS請求轉寄到後端Service關聯的Pod中。您可以通過以下幾種方法來部署Ingress Controller,具體操作如下:

部署方式

特點

雲邊網路類型/流量拓撲

節點池部署

在叢集中每個有需要的節點池內部署一套Ingress,僅支援Nginx Ingress類型。具體操作,請參見部署Nginx Ingress Controller

  • 專線:可選是否開啟流量拓撲。

  • 公網:必須開啟流量拓撲。

雲端部署

僅在雲端節點池中部署一套Ingress,支援Nginx Ingress和ALB Ingress兩種類型。具體操作,請參見部署Nginx Ingress Controller管理ALB Ingress Controller組件

專線,不使用流量拓撲。

節點池部署

  • 在雲端節點池和邊緣節點池分別部署Ingress Controller。

  • 雲端節點池的Ingress Controller通過LoadBalancer類型的Service對外暴露服務,使用阿里雲CLB地址作為端點。

  • 邊緣節點池的Ingress Controller通過NodePort類型的Service對外暴露服務,使用節點池內任意節點的IP地址作為訪問端點。

  • 您需要配置Service流量拓撲,來確保外部請求通過Ingress Controller轉寄到後端Service時,流量僅限於轉寄到同一節點池內的後端Pod。具體操作,請參見節點池服務拓撲管理

雲端部署

  • 只需在雲端節點池部署Ingress Controller。

  • 確保雲端節點池和邊緣節點池通過專線接入,實現內網互連,從而保證主機網路與容器網路的互聯互連。

  • 雲端節點池的Ingress Controller通過LoadBalancer類型的Service對外暴露服務,使用阿里雲CLB地址作為端點。

  • 外部請求通過Ingress Controller轉寄到Service的後端Pod,不使用流量拓撲。