Nginx Ingress Controllerには2つの実装があるので注意
はじめに
Nginx Ingress Controllerには2つの実装があります。
Kubernetesチーム管理のkubernetes/ingress-nginx(以下ingress-nginx) github.com
Nginxチーム管理のnginx/kubernetes-ingress(以下nginx-ingress)
ingress-nginx, nginx-ingressと呼び分けているのは、両者のドキュメントで Helmを利用したインストール方法でnameとして採用されているからです。
2つの違い
Nginx側のレポジトリ にドキュメントがあります。
kubernetes-ingress/nginx-ingress-controllers.md at master · nginxinc/kubernetes-ingress · GitHub
基本的な設定は似ていますが、マニフェストの書き方が異なる箇所が多く互換性はありません。Nginxの商用製品を使う場合はnginx-ingressが必須です。
ingress-nginxに関するドキュメントは、 kubernetes.github.ioでホストされています。 kubernetes.github.io
nginx-ingressは、docs.nginx.com でホストされています。 docs.nginx.com
annotationなど設定値で検索すると両者がヒットするとこがあるので、間違えないように気を付ける必要があります。
stable/nginx-ingress について
古い記事では、下記のように stable/nginx-ingressを利用する記述がありますが、stable/nginx-ingress はDeprecatedになっており、新規で利用してはいけません
helm install stable/nginx-ingress
stable/nginx-ingress はKubernetesコミュニティの Ingress Controller なので、移行先は ingress-nginx です。
https://github.com/helm/charts/tree/master/stable/nginx-ingress