はじめに
1624.org でhelmを使用してIngress-Nginx Controllerのインストールしています。
Kubernetesのアップグレードに伴い、こちらもアップグレードします。
現状整理
ingress-nginx-4.11.3 を使用しています。
$ helm list -A NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION cilium kube-system 4 2026-02-28 22:44:14.572991811 +0900 JST deployed cilium-1.18.7 1.18.7 ingress-nginx ingress-system 2 2024-12-28 20:06:15.445725916 +0900 JST deployed ingress-nginx-4.11.3 1.11.3 metallb metallb-system 2 2024-12-28 20:13:40.636524556 +0900 JST deployed metallb-0.14.9 v0.14.9 metrics-server metrics-server 2 2026-02-28 09:56:34.930551084 +0900 JST deployed metrics-server-3.13.0 0.8.0 rook-ceph rook-ceph 1 2024-07-07 16:31:29.805143536 +0900 JST deployed rook-ceph-v1.14.8 v1.14.8 rook-ceph-cluster rook-ceph 1 2024-07-07 17:01:51.829417353 +0900 JST deployed rook-ceph-cluster-v1.14.8 v1.14.8
これに対応するIngress-NGINX のバージョンは v1.11.3 です。
$ kubectl -n ingress-system get deploy ingress-nginx-controller -o jsonpath='{.spec.template.spec.containers[0].image}{"\n"}' registry.k8s.io/ingress-nginx/controller:v1.11.3@sha256:d56f135b6462cfc476447cfe564b83a45e8bb7da2774963b00d12161112270b7
https://github.com/kubernetes/ingress-nginx によると、Kubernetesのバージョンは 1.30までの対応です。
$ helm search repo ingress-nginx --versions NAME CHART VERSION APP VERSION DESCRIPTION ingress-nginx/ingress-nginx 4.14.3 1.14.3 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.14.2 1.14.2 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.14.1 1.14.1 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.14.0 1.14.0 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.13.7 1.13.7 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.13.6 1.13.6 Ingress controller for Kubernetes using NGINX a... ingress-nginx/ingress-nginx 4.13.5 1.13.5 Ingress controller for Kubernetes using NGINX a... ・ ・ ・
最新のhelmチャート 4.14.3 (Ingress-NGINX のバージョンは v1.14.3)
アップグレード
helm upgrade ingress-nginx ingress-nginx/ingress-nginx --version 4.14.3 \
-n ingress-system
実行結果
$ helm upgrade ingress-nginx ingress-nginx/ingress-nginx --version 4.14.3 \ -n ingress-system Release "ingress-nginx" has been upgraded. Happy Helming! NAME: ingress-nginx LAST DEPLOYED: Sun Mar 1 14:23:05 2026 NAMESPACE: ingress-system STATUS: deployed REVISION: 3 TEST SUITE: None NOTES: The ingress-nginx controller has been installed. It may take a few minutes for the load balancer IP to be available. You can watch the status by running 'kubectl get service --namespace ingress-system ingress-nginx-controller --output wide --watch' An example Ingress that makes use of the controller: apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example namespace: foo spec: ingressClassName: nginx rules: - host: www.example.com http: paths: - pathType: Prefix backend: service: name: exampleService port: number: 80 path: / # This section is only required if TLS is to be enabled for the Ingress tls: - hosts: - www.example.com secretName: example-tls If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided: apiVersion: v1 kind: Secret metadata: name: example-tls namespace: foo data: tls.crt: <base64 encoded cert> tls.key: <base64 encoded key> type: kubernetes.io/tls
$ kubectl get service --namespace ingress-system ingress-nginx-controller --output wide --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR ingress-nginx-controller LoadBalancer 10.110.78.190 192.168.10.62 80:31330/TCP,443:32369/TCP 594d app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx
$ k get pod -n ingress-system NAME READY STATUS RESTARTS AGE ingress-nginx-controller-564b775c95-d9mnd 1/1 Running 0 78s
$ kubectl -n ingress-system get deploy ingress-nginx-controller -o jsonpath='{.spec.template.spec.containers[0].image}{"\n"}' registry.k8s.io/ingress-nginx/controller:v1.14.3@sha256:82917be97c0939f6ada1717bb39aa7e66c229d6cfb10dcfc8f1bd42f9efe0f81
