Ingress 控制器
為了使 Ingress 資源能夠運作,叢集必須執行 Ingress 控制器。
與其他作為 kube-controller-manager
二進制檔案一部分執行的控制器類型不同,Ingress 控制器不會隨著叢集自動啟動。使用此頁面選擇最適合您叢集的 Ingress 控制器實作。
Kubernetes 作為一個專案,支援與維護 AWS、GCE 和 nginx Ingress 控制器。
其他控制器
- AKS Application Gateway Ingress Controller 是一個 Ingress 控制器,用於設定 Azure Application Gateway。
- Alibaba Cloud MSE Ingress 是一個 Ingress 控制器,用於設定 Alibaba Cloud Native Gateway,這也是 Higress 的商業版本。
- Apache APISIX Ingress 控制器 是一個基於 Apache APISIX 的 Ingress 控制器。
- Avi Kubernetes Operator 使用 VMware NSX Advanced Load Balancer 提供 L4-L7 負載平衡。
- BFE Ingress Controller 是一個基於 BFE 的 Ingress 控制器。
- Cilium Ingress Controller 是一個由 Cilium 驅動的 Ingress 控制器。
- Citrix Ingress 控制器 適用於 Citrix Application Delivery Controller。
- Contour 是一個基於 Envoy 的 Ingress 控制器。
- Emissary-Ingress API 閘道是一個基於 Envoy 的 Ingress 控制器。
- EnRoute 是一個基於 Envoy 的 API 閘道,可以作為 Ingress 控制器執行。
- Easegress IngressController 是一個基於 Easegress 的 API 閘道,可以作為 Ingress 控制器執行。
- F5 BIG-IP Container Ingress Services for Kubernetes 讓您可以使用 Ingress 設定 F5 BIG-IP 虛擬伺服器。
- FortiADC Ingress Controller 支援 Kubernetes Ingress 資源,並允許您從 Kubernetes 管理 FortiADC 物件
- Gloo 是一個基於 Envoy 的開放原始碼 Ingress 控制器,提供 API 閘道功能。
- HAProxy Ingress 是一個用於 HAProxy 的 Ingress 控制器。
- Higress 是一個基於 Envoy 的 API 閘道,可以作為 Ingress 控制器執行。
- HAProxy Ingress Controller for Kubernetes 也是一個用於 HAProxy 的 Ingress 控制器。
- Istio Ingress 是一個基於 Istio 的 Ingress 控制器。
- Kong Ingress Controller for Kubernetes 是一個驅動 Kong Gateway 的 Ingress 控制器。
- Kusk Gateway 是一個基於 OpenAPI 驅動的 Ingress 控制器,基於 Envoy。
- NGINX Ingress Controller for Kubernetes 適用於 NGINX 網頁伺服器(作為 Proxy)。
- ngrok Kubernetes Ingress Controller 是一個開放原始碼控制器,用於使用 ngrok 平台為您的 K8s 服務新增安全公開存取。
- OCI Native Ingress Controller 是一個用於 Oracle Cloud Infrastructure 的 Ingress 控制器,可讓您管理 OCI Load Balancer。
- OpenNJet Ingress Controller 是一個基於 OpenNJet 的 Ingress 控制器。
- Pomerium Ingress Controller 基於 Pomerium,提供上下文感知存取原則。
- Skipper HTTP 路由器和反向 Proxy 用於服務組合,包括 Kubernetes Ingress 等使用案例,設計為用於建立自訂 Proxy 的程式庫。
- Traefik Kubernetes Ingress provider 是一個用於 Traefik Proxy 的 Ingress 控制器。
- Tyk Operator 使用自訂資源擴展 Ingress,將 API 管理功能帶入 Ingress。Tyk Operator 適用於開放原始碼 Tyk Gateway 和 Tyk Cloud 控制平面。
- Voyager 是一個用於 HAProxy 的 Ingress 控制器。
- Wallarm Ingress Controller 是一個提供 WAAP (WAF) 和 API 安全性功能的 Ingress Controller。
使用多個 Ingress 控制器
您可以使用叢集內的Ingress 類別部署任意數量的 Ingress 控制器。請注意您的 Ingress 類別資源的 .metadata.name
。當您建立 Ingress 時,您需要該名稱在您的 Ingress 物件上指定 ingressClassName
欄位(請參閱IngressSpec v1 參考)。ingressClassName
是較舊註解方法的替代方案。
如果您未指定 Ingress 的 IngressClass,且您的叢集正好有一個 IngressClass 標記為預設值,則 Kubernetes 會將叢集的預設 IngressClass 套用至 Ingress。您可以透過在該 IngressClass 上設定 ingressclass.kubernetes.io/is-default-class
註解,並將字串值設為 "true"
,將 IngressClass 標記為預設值。
理想情況下,所有 Ingress 控制器都應滿足此規格,但各種 Ingress 控制器的運作方式略有不同。
注意
請務必檢閱您的 Ingress 控制器的文件,以了解選擇它的注意事項。下一步
此頁面上的項目指的是提供 Kubernetes 所需功能的協力廠商產品或專案。Kubernetes 專案作者不對這些協力廠商產品或專案負責。請參閱 CNCF 網站指南以瞭解更多詳細資訊。
在提議新增額外協力廠商連結的變更之前,您應該先閱讀內容指南。