k8s ingress-nginx-controller 0.46.0 升级到 1.6.4

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

官方文档升级

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

因为是 k8s 版本升级到1.24后导致的不兼容,所以我们要找到对应的版本的ingress
寻找对应版本地址

我们找到了比较合适的1.6.4版本

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

bash 复制代码
docker inspect registry.k8s.io/ingress-nginx/controller:v1.6.4 | grep -i sha256

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

编辑权限配置文件

bash 复制代码
kubectl edit clusterrole -n ingress-nginx ingress-nginx

添加以下内容

yaml 复制代码
- 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,执行以下命令检查

bash 复制代码
kubectl get ingressclass

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

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

然后,更新你的 Ingress:

bash 复制代码
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  namespace: default
spec:
  ingressClassName: nginx
相关推荐
lichenyang4533 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4533 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4533 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
运维开发故事6 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生8 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭8 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美9 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
Avan_菜菜10 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https