NGINX Ingress Controller
更新時間 2025-07-31 10:38:55
最近更新時間: 2025-07-31 10:38:55
分享文章
本節介紹網絡的用戶指南:NGINX Ingress Controller。
NGINX Ingress Controller是一種常見的Ingress Controller實現,它利用NGINX的高級性能和靈活性來處理服務的路由和負載均衡。當一個Ingress資源在Kubernetes集群中被創建或更新時,Ingress Controller會檢測到這些變化。然后,它會根據Ingress資源定義的規則,自動生成對應的NGINX配置,以實現請求的路由和負載均衡。
NGINX配置包括如何處理進入的網絡請求(例如,基于主機名或URL路徑進行路由),以及如何將請求路由到后端的服務實例。NGINX Ingress Controller會定期檢查Ingress資源的變化,如果檢測到任何更改,它會自動更新NGINX配置以反映這些更改。此外,NGINX Ingress Controller還支持一些高級特性,如SSL終止、WebSocket、HTTP/2和更復雜的負載均衡算法。這些特性都可以通過Kubernetes Ingress資源的注解來配置。
Nginx Ingress Conftroller通過Pod部署在工作節點,因此引入了相應的組件運行和運維成本,其工作原理如圖所示:
注意1、用戶提交Ingress資源后,Nginx Ingress Controller會獲取該資源并解析為轉發規則,寫入Nginx的配置文件(nginx.conf);
2、觸發Nginx進行reload,以加載更新后的配置文件,完成Nginx轉發規則的修改和更新;
3、集群外客戶端可通過控制節點IP或VIP(若存在)訪問Nginx,Nginx組件根據轉發規則將其轉發至對應的服務Service,最終轉發到對應的后端Pod。