1. Apache APISIX Ingress 定義
在 K8s 生態(tài)中,Ingress 作為表示 K8s 流量入口的一種資源,想要讓其生效,就需要有一個 Ingress Controller 去監(jiān)聽 K8s 中的 Ingress 資源,并對這些資源進行相應規(guī)則的解析和實際承載流量。在當下趨勢中,像 Kubernetes Ingress Nginx 就是使用最廣泛的 Ingress Controller 實現(xiàn)。 而 APISIX Ingress 則是另一種 Ingress Controller 的實現(xiàn)。跟 Kubernetes Ingress Nginx 的區(qū)別主要在于 APISIX Ingress 是以 Apache APISIX 作為實際承載業(yè)務流量的數(shù)據(jù)面。如下圖所示,當用戶請求到具體的某一個服務/API/網(wǎng)頁時,通過外部代理將整個業(yè)務流量/用戶請求傳輸?shù)?K8s 集群,然后經(jīng)過 APISIX Ingress 進行后續(xù)處理。 從上圖可以看到,APISIX Ingress 分成了兩部分。一部分是 APISIX Ingress Controller,作為控制面它將完成配置管理與分發(fā)。另一部分 APISIX Proxy Pod 負責承載業(yè)務流量,它是通過 CRD(Custom Resource Definitions)的方式實現(xiàn)的。Apache APISIX Ingress 除了支持自定義資源外,還支持原生的 K8s Ingress 資源。 ?
2. Apache APISIX 簡述
前邊我們提到了 APISIX Ingress 是采用 Apache APISIX 作為實際承載業(yè)務流量的數(shù)據(jù)面,那么 Apache APISIX 項目又是做什么的呢? Apache APISIX 是 Apache 基金會旗下的頂級開源項目,也是當前最活躍的開源網(wǎng)關(guān)項目。作為一個動態(tài)、實時、高性能的開源 API 網(wǎng)關(guān),Apache APISIX 提供了負載均衡、動態(tài)上游、灰度發(fā)布、服務熔斷、身份認證、可觀測性等豐富的流量管理功能。 Apache APISIX 可以幫助企業(yè)快速、安全地處理 API 和微服務流量,比如限流認證、日志安全功能,以及支持豐富的自定義插件。目前也與很多開源項目如 Apache SkyWalking、Prometheus 等之類的組件進行了相關(guān)集成。 ?
3. APISIX Ingress vs K8s Ingress Nginx
1)配置層面
在 APISIX Ingress 中,我們增加了一些豐富且靈活的配置,比如通過單個配置文件去實現(xiàn)灰度部署。但在 K8s Ingress Nginx 中去實現(xiàn)如上效果的話,最少也需要有兩個 Ingress 資源文件才可以完成。
2)豐富度
在豐富度上,由于 Apache APISIX 本身的自帶功能豐富且允許多種插件擴展使用,所以使用 APISIX Ingress 就可以省去自己額外配置功能的繁瑣步驟,可以將更多的時間投入到實際開發(fā)中。
3)架構(gòu)分離
APISIX Ingress 采用了數(shù)據(jù)面與控制面的分離架構(gòu),所以用戶可以選擇將數(shù)據(jù)面部署在 K8s 集群內(nèi)部/外部。但 K8s Ingress Nginx 是將控制面和數(shù)據(jù)面放在了同一個 Pod 中,如果 Pod 或控制面出現(xiàn)一點閃失,整個 Pod 就會掛掉,進而影響到業(yè)務流量。 這種架構(gòu)分離,給用戶提供了比較方便的部署選擇,同時在業(yè)務架構(gòu)調(diào)整場景下,也方便進行相關(guān)數(shù)據(jù)的遷移與使用。
4. APISIX Ingress 特性詳解
由于 Apache APISIX 是一個全動態(tài)的高性能網(wǎng)關(guān),所以在 APISIX Ingress 自身就支持了全動態(tài),包括路由、SSL 證書、上游以及插件等等。 同時 APISIX Ingress 還具有以下特性:
支持 CRD,更容易理解聲明式配置;同時狀態(tài)檢查可保證快速掌握聲明配置的同步狀態(tài);
支持高級路由匹配規(guī)則以及自定義資源,可與 Apache APISIX 官方 50 多個插件 & 客戶自定義插件進行擴展使用;
支持 K8s 原生 Ingress 配置;
支持流量切分;
支持 gRPC plaintext 與 TCP 4 層代理;
服務自動注冊發(fā)現(xiàn),無懼擴縮容;
更靈活的負載均衡策略,自帶健康檢查功能;
責任編輯:彭菁
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7002瀏覽量
88943 -
API
+關(guān)注
關(guān)注
2文章
1499瀏覽量
61964 -
流量
+關(guān)注
關(guān)注
0文章
245瀏覽量
23891 -
生態(tài)鏈
+關(guān)注
關(guān)注
0文章
66瀏覽量
9894
原文標題:Apache APISIX了解下
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論