ingress-nginxとnginx ingressは同じものではない

2週間のドキュメントを読んで、やっと Ingress-NginxNginx Ingress が同じものではないことに気づいた。両者の機能と実装方法は異なる。さらに、移行を指導するドキュメントもある。

Ingress-NGINX はコミュニティ版で、参加者の数が多く、検索結果も豊富。NGINX Ingress は商用版で、機能は多いが、コミュニティの参加度は低い。

Deploy with NGINX Ingress Controller - Overview によると、

NGINX Ingress Controller は NGINX Open Source で無料で使用できる。有料顧客は NGINX Plus 版の NGINX Ingress Controller を利用できる。NGINX Ingress Controller と NGINX Service Mesh を導入するには、以下のいずれかを使用する必要がある:

Open Source NGINX Ingress Controller バージョン 3.0+ NGINX Plus 版の NGINX Ingress Controller 詳細は NGINX Ingress Controller 製品ページを参照。

NGINX Ingress Controller は NGINX Open Source で無料で使用できる。有料顧客は NGINX Plus 版の NGINX Ingress Controller を利用できる。

また、nginx の商用版公式サイトは www.f5.com に移行した。

Nginx Ingress Controller の製品ページは https://www.f5.com/products/nginx/nginx-ingress-controller にある。

この 2021.05 のブログ記事は、それらの違いを比較している:There are two Nginx Ingress Controllers for k8s. What?

アスペクトまたは機能 kubernetes/ingress-nginx nginxinc/kubernetes-ingress with NGINX nginxinc/kubernetes-ingress with NGINX Plus
基本
作者 Kubernetesコミュニティ NGINX Inc とコミュニティ NGINX Inc とコミュニティ
NGINX バージョン カスタム NGINX ビルド(いくつかのサードパーティモジュールを含む) NGINX 公式メインライン ビルド NGINX Plus
商用サポート N/A N/A 含まれる
実装 Go/Lua (NGINX は C で書かれている) Go/Python Go/Python
Ingress リソースによるロードバランシング設定
同じホストを持つ Ingress ルールのマージ サポート Mergeable Ingresses 経由でサポート Mergeable Ingresses 経由でサポート
HTTP ロードバランシング拡張 – 注釈 サポートされる注釈 を参照 サポートされる注釈 を参照 サポートされる注釈 を参照
HTTP ロードバランシング拡張 – ConfigMap サポートされる ConfigMap キー を参照 サポートされる ConfigMap キー を参照 サポートされる ConfigMap キー を参照
TCP/UDP ConfigMap 経由でサポート カスタムリソース経由でサポート カスタムリソース経由でサポート
Websocket サポート 注釈 経由でサポート 注釈 経由でサポート
TCP SSL Passthrough ConfigMap 経由でサポート カスタムリソース経由でサポート カスタムリソース経由でサポート
JWT バリデーション サポートされていない サポートされていない サポート
セッション永続化 サードパーティモジュール経由でサポート サポートされていない サポート
カナリアテスト(ヘッダー、クッキー、ウェイト) 注釈経由でサポート カスタムリソース経由でサポート カスタムリソース経由でサポート
設定テンプレート テンプレート を参照 テンプレート を参照 テンプレート を参照
カスタムリソースによるロードバランシング設定
HTTP ロードバランシング サポートされていない VirtualServer と VirtualServerRoute リソースを参照 VirtualServer と VirtualServerRoute リソースを参照
TCP/UDP ロードバランシング サポートされていない TransportServer リソースを参照 TransportServer リソースを参照
TCP SSL Passthrough ロードバランシング サポートされていない TransportServer リソースを参照 TransportServer リソースを参照
導入
コマンドライン引数 引数 を参照 引数 を参照 引数 を参照
Ingress コントローラのデフォルトサーバー用 TLS 証明書と鍵 コマンドライン引数として必要/自動生成 コマンドライン引数として必要 コマンドライン引数として必要
Helm チャート サポート サポート サポート
オペレーター サポートされていない サポート サポート
運用
Ingress リソースへの Ingress コントローラの IP アドレスの報告 サポート サポート サポート
拡張ステータス サードパーティモジュール経由でサポート サポートされていない サポート
Prometheus 統合 サポート サポート サポート
エンドポイントの動的再設定(設定のリロードなし) サードパーティ Lua モジュール経由でサポート サポートされていない サポート