ingress-nginxとnginx ingressは同じものではない
Categories:
2週間のドキュメントを読んで、やっと Ingress-Nginx と Nginx 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 モジュール経由でサポート | サポートされていない | サポート |