您现在的位置是:首页 >技术交流 >k8s ingress-nginx-controller 0.46.0 升级到 1.6.4网站首页技术交流

k8s ingress-nginx-controller 0.46.0 升级到 1.6.4

小洋- 2025-07-13 12:01:03
简介k8s ingress-nginx-controller 0.46.0 升级到 1.6.4

官网文档提到,只需替换镜像版本即可升级 ingress-nginx-controller

官方文档升级

寻找对应的ingress-nginx-controller版本

因为是 k8s 版本升级到1.24后导致的不兼容,所以我们要找到对应的版本的ingress
寻找对应版本地址
我们找到了比较合适的1.6.4版本
在这里插入图片描述

更新镜像时 @后的id如何查找

docker inspect registry.k8s.io/ingress-nginx/controller:v1.6.4 | grep -i sha256

我更新后遇到的权限缺失等问题

编辑权限配置文件

kubectl edit clusterrole -n ingress-nginx ingress-nginx

添加以下内容

- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - get
  - list
  - watch
  - create
  - update
- apiGroups:
  - discovery.k8s.io
  resources:
  - endpointslices
  verbs:
  - get
  - list
  - watch

Kubernetes v1.18+ 需要 IngressClass,执行以下命令检查

kubectl get ingressclass

如果 没有 nginx IngressClass,可以创建一个:

kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: nginx
spec:
  controller: k8s.io/ingress-nginx
EOF

然后,更新你的 Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  namespace: default
spec:
  ingressClassName: nginx
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。