全部產品
Search
文件中心

Container Service for Kubernetes:Nginx Ingress Controller

更新時間:Aug 21, 2024

本文介紹Nginx Ingress Controller組件的資訊、使用說明和變更記錄。

組件介紹

Ingress基本概念

在Kubernetes叢集中,Ingress作為叢集內服務對外暴露的訪問存取點,幾乎承載著叢集內服務訪問的所有流量。Ingress是Kubernetes中的一個資來源物件,用來管理叢集外部存取叢集內部服務的方式。您可以通過Ingress資源來配置不同的轉寄規則,從而實現根據不同的規則設定訪問叢集內不同的Service所對應的後端Pod。

Nginx Ingress Controller工作原理

為了使得Nginx Ingress資源正常工作,叢集中必須要有一個Nginx Ingress Controller來解析Nginx Ingress的轉寄規則。Nginx Ingress Controller收到請求,匹配Nginx Ingress轉寄規則轉寄到後端Service所對應的Pod,由Pod處理請求。Kubernetes中的Service、Nginx Ingress與Nginx Ingress Controller有著以下關係:

  • Service是後端真實服務的抽象,一個Service可以代表多個相同的後端服務。

  • Nginx Ingress是反向 Proxy規則,用來規定HTTP/HTTPS請求應該被轉寄到哪個Service所對應的Pod上。例如根據請求中不同的Host和URL路徑,讓請求落到不同的Service所對應的Pod上。

  • Nginx Ingress Controller是Kubernetes叢集中的一個組件,負責解析Nginx Ingress的反向 Proxy規則。如果Nginx Ingress有增刪改的變動,Nginx Ingress Controller會及時更新自己相應的轉寄規則,當Nginx Ingress Controller收到請求後就會根據這些規則將請求轉寄到對應Service的Pod上。

使用說明

變更記錄

2024年08月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.10.4-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.10.4-aliyun.1

2024年08月20日

更新至社區版本v1.10.4,修複CVE-2024-7646漏洞。關於漏洞詳細資料,請參見Security issue

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生短暫中斷。

2024年07月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.10.2-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.10.2-aliyun.1

2024年07月24日

  • 支援通過OpenTelemetry的方式對接ARMS,不再支援OpenTracing。

  • 組件管理頁面,支援配置--shutdown-grace-period--exclude-socket-metrics--default-ssl-certificate參數。

  • 支援使用NLB作為四層轉寄。

  • 鏡像安全強化,修複CVE-2023-5363、CVE-2023-5678、CVE-2024-25062、CVE-2024-2511。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生短暫中斷。

2023年10月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.9.3-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.9.3-aliyun.1

2023年10月24日

重要

由於安全原因,自該版本起,組件將會預設禁用所有snippet註解(如nginx.ingress.kubernetes.io/configuration-snippet等)。

出於安全和穩定性風險考量,不建議您開啟snippet註解功能。如需使用,請在充分評估風險後,通過在ConfigMapkube-system/nginx-configuration中添加allow-snippet-annotations: "true"手動開啟。

  • 預設關閉在註解中添加snippet的功能。

  • 加入--enable-annotation-validation參數,預設開啟註解內容校正,緩解CVE-2023-5044。

  • 修複CVE-2023-44487。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生短暫中斷。

2023年09月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.8.2-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.8.2-aliyun.1

2023年09月20日

  • 升級Golang版本為1.21.1。

  • 按Hostname反親和調度由preferred改成required,即強制按節點反親和調度。

  • 支援啟用OpenTelemetry,具體操作請參見社區配置指導

  • 修複CVE-2022-48174、CVE-2023-2975、CVE-2023-3446、CVE-2023-3817等漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2023年06月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.8.0-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.8.0-aliyun.1

2023年06月20日

  • 升級Alpine鏡像版本為1.18。

  • 添加strict-validate-path-type配置項,進行嚴格路徑校正(當前預設關閉)。更多資訊,請參見社區ConfigMap配置說明

  • 修複CVE-2023-28322、CVE-2023-2650等漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2023年05月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.7.0-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.7.0-aliyun.1

2023年05月05日

重要

該版本不再預設支援TLS v1.1和TLS v1.0的加密方式。如果Nginx Ingress Controller升級到此版本,請注意對自身業務的影響。關於該問題產生的更多影響,請參見set ssl-protocols config not working after v1.6.4。若您需要強制使用舊版本的TLS加密方式,請參見Ingress支援哪些SSL/TLS版本?進行配置。

  • Golang版本升級為1.20,Alpine鏡像版本升級為1.17。

  • 修複nginx.ingress.kubernetes.io/canary-weight-total不生效的問題。

  • 修複當EndpointSlice中缺少就緒狀態時發生Panic的問題。

  • 修複CVE-2023-27536、CVE-2023-0464等漏洞。

  • 去除EndpointSlice中以服務名稱作為首碼檢查的邏輯。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2023年03月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.6.4-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.6.4-aliyun.1

2023年03月17日

  • 支援通過nginx.ingress.kubernetes.io/denylist-source-range設定IP黑名單。

  • 支援添加註解cluster-autoscaler.kubernetes.io/safe-to-evict: "false",阻止Pod所在節點被自動縮容。

  • 支援在組件管理頁面開啟或關閉日誌。

  • 修複若干穩定性問題。

  • 修複CVE-2023-0286、CVE-2022-4450、CVE-2023-0215等漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2023年02月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.5.1-aliyun.1

registry-cn-hangzhou.ack.aliyuncs.com/acs/aliyun-ingress-controller:v1.5.1-aliyun.1

2023年02月10日

  • 1.5.1及以上版本的Nginx Ingress Controller僅支援1.22.0及以上版本的ACK叢集。

  • 升級Nginx版本為1.21.6,升級Golang版本為1.19.2。

  • 更新AHAS Sentinel外掛程式,支援use-mse開關。

  • 使用coordination.k8s.io/leases資源進行選主。

  • 使用EndpointSlice代替Endpoint進行端點發現。

  • 添加多個Prometheus metrics,棄用_ingress_upstream_latency_seconds。更多資訊,請參見ingress-nginx

  • 支援使用debug-connections為IP範圍開啟Nginx Debug日誌。

  • 修複CVE-2022-32149、CVE-2022-27664、CVE-2022-1996等漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2022年06月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.2.1-aliyun.1

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v1.2.1-aliyun.1

2022年06月28日

  • 刪除Nginx中的aliasroot指令,減少安全風險。

  • 修複若干穩定性問題。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2022年05月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.2.0-aliyun.1

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v1.2.0-aliyun.1

2022年05月10日

  • 添加並預設開啟Ingress對象深度檢測功能,阻止包含敏感欄位的Ingress的配置寫入。該功能修複了CVE-2021-25745問題。

  • 修複若干穩定性問題。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2022年04月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.12-27ae67262-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.12-27ae67262-aliyun

2022年04月29日

  • 最佳化調度親和性配置,允許叢集所有節點作為Auto Scaling節點。

  • 修複啟用AHAS Sentinel功能時,已知的安全性漏洞問題。

  • 修複若干基礎鏡像漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2022年03月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.1.2-aliyun.2

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v1.1.2-aliyun.2

2022年03月21日

  • Nginx版本降級為1.19.9,與社區版本保持同步,以增強穩定性。

  • 修複cors-allow-origin配置錯誤時會導致Controller崩潰的問題。

  • 修複Webhook檢查不屬於同一IngressClass的Ingress資源時,導致同路徑的Ingress資源衝突的問題。

  • 修複使用hostNetwork時,initContainer會更改節點核心參數的問題。

  • 修複CVE-2022-0778CVE-2022-23308

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2022年01月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.1.0-aliyun.2

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v1.1.0-aliyun.2

2022年01月12日

  • 升級AHAS Sentinel外掛程式,由Java切換為C++模組,效能大幅最佳化與提升。

  • 使用Protobuf協議與API Server通訊,以提升效能。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年12月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v1.1.0-aliyun.1

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v1.1.0-aliyun.1

2021年12月17日

  • 1.X.X版本的Nginx Ingress Controller僅支援v1.20.0及以上的ACK叢集,在舊版本叢集上請使用0.X.X版本的Nginx Ingress Controller。

  • 使用networking v1 Ingress資源,以支援1.22及以上叢集。

  • cors-allow-origin支援配置多個值,並在訪問網站時根據Origin自動返回請求。

  • 支援Canary配置session affinity,且切換為預設行為。

  • 支援在沒有指定Host的情況下配置Canary。

  • 加快Admission Webhook的執行速度。

  • 修複穩定性。

更多內容,請參見社區Changelog

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年10月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.9-7b9e93e7e-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.9-7b9e93e7e-aliyun

2021年10月28日

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年09月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.5-e66e17ee3-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.5-e66e17ee3-aliyun

2021年09月06日

  • 升級AHAS Sentinel外掛程式。

    • 最佳化外掛程式效能和穩定性。

    • 支援叢集流控。

  • 修複CVE-2021-36159漏洞。更多資訊,請參見CVE-2021-36159

  • 預設關閉kernel.core_uses_pid核心參數,防止coredump佔用大量磁碟空間。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年06月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.3-8e83e7dc6-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.3-8e83e7dc6-aliyun

2021年06月01日

修複CVE-2021-23017漏洞。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年04月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.2-abf1c6fe4-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.2-abf1c6fe4-aliyun

2021年04月01日

相容老版本(0.30及之前的版本)log_format中配置的the_real_ip欄位。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2021年03月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.44.0.1-5e842447b-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.44.0.1-5e842447b-aliyun

2021年03月08日

  • 預設開啟Validating Admission Webhook。更多資訊,請參見How the NGINX Ingress controller works

  • 針對service-weight這個註解配置的值進行合法性檢查。

  • 長串連和短串連效能提升20%~50%。

  • 支援OCSP stapling。

  • 升級LuaJIT到2.1.0版本。

  • 升級Nginx到1.19.6版本。

  • 升級Alpine鏡像到3.13版本。

  • 修複OpenSSL CVE。

  • 預設啟用TLS 1.3版本。

    說明

    HTTPS預設只支援TLS 1.2和TLS 1.3版本。如果需要支援TLS 1.0和TLS 1.1版本,請參見Ingress支援哪些SSL/TLS版本?

  • 要求Kubernetes版本為v1.16及以上。

  • 同步更新到社區0.44.0版本。更多資訊,請參見社區Changelog

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2020年04月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.30.0.1-5f89cb606-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.30.0.1-5f89cb606-aliyun

2020年04月02日

  • 新增FastCGI Backend支援。

  • 預設啟用Dynamic SSL Cert Update模式。

  • 新增流量Mirror配置支援。

  • 升級Nginx版本到1.17.8,OpenResty版本到1.15.8,更新基礎鏡像為Alpine。

  • 新增Ingress Validating Webhook支援。

  • 修複CVE-2018-16843、CVE-2018-16844、CVE-2019-9511、CVE-2019-9513和CVE-2019-9516漏洞。

  • 重大更新如下:

    • lua-resty-waf、session-cookie-hash、force-namespace-isolation等配置被廢棄。

    • x-forwarded-prefix類型從boolean轉換為string類型。

    • log-format中的the_real_ip變數在下個版本將被廢棄,統一採用remote_addr替代。

  • 同步更新到社區0.30.0版本,更多詳細變更記錄請參見社區Changelog

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2019年10月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.22.0.5-552e0db-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.22.0.5-552e0db-aliyun

2019年10月24日

開啟Server動態更新時支援泛網域名稱、白名單和重新導向配置。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2019年07月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.22.0.4-5a14d4b-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.22.0.4-5a14d4b-aliyun

2019年07月18日

最佳化灰階發布規則,支援Perl正則匹配方式。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2019年04月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.22.0.3-da10b7f-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.22.0.3-da10b7f-aliyun

2019年04月25日

  • 同步更新到社區0.22.0版本,變更記錄請參見Ingress-Nginx

  • 開啟動態更新時支援藍綠髮布和灰階發布機制。

  • 預設開啟Nginx Upstream的動態更新特性。

  • 重大更新如下:rewrite-target注釋採用capture group配置形式,配置方式請參見rewrite-target,平滑升級方式請參見Github

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2019年01月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.20.0.2-cc39f1b-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.20.0.2-cc39f1b-aliyun

2019年01月17日

  • 最佳化預設的Nginx Worker進程數量配置,防止過多Nginx進程佔用宿主機資源。

  • 最佳化藍綠髮布和灰階發布時允許新老版本服務配置不同的服務連接埠號碼。

  • 解決灰階發布過程中,新版本服務後端無Active Pod時,Nginx配置測試失敗的問題。

  • 修複因K8s API Server串連異常而導致Ingress Address端點不更新的問題。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。

2018年11月

版本號碼

鏡像地址

變更時間

變更內容

變更影響

v0.20.0.1-4597ce2-aliyun

registry.cn-hangzhou.aliyuncs.com/acs/aliyun-ingress-controller:v0.20.0.1-4597ce2-aliyun

2018年11月29日

  • 同步更新到社區0.20.0版本,變更記錄請參見社區

  • 升級Nginx版本到1.15.6,修複HTTP/2相關安全性漏洞。

  • Path支援Regex配置。

  • 移除預設的default-http-backend服務,同時支援配置自訂預設後端服務。

  • 支援基於IP、User-Agent和Referer的黑名單配置。

  • 最佳化預設運行許可權,剔除privileges運行許可權。

  • 支援AJP協議。

建議在業務低峰期升級,變更過程中可能會導致已經建立的串連發生瞬斷。