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
相关推荐
java_logo21 小时前
AdguardHome Docker 容器化部署指南
运维·docker·容器·jenkins·adguardhome·部署adguardhome·docker adguard
yuguo.im21 小时前
从零开始:Docker Compose YAML 文件深度解析与最佳实践
运维·docker·容器
码界奇点21 小时前
Unity WebGL输入支持终极指南解决浏览器输入难题的完整方案
unity·容器·游戏引擎·鸿蒙系统·webgl
yuguo.im21 小时前
Docker Compose 和 Docker Swarm
docker·容器
罗不丢1 天前
docker镜像配置
运维·docker·容器
杰克逊的日记1 天前
k8s某pod节点资源使用率过高,如何调整
linux·docker·kubernetes
古城小栈1 天前
Go 语言容器感知,自动适配 K8s 资源限制
golang·kubernetes
库库的里昂1 天前
开源设计和原型创作平台Penpot本地docker部署与远程在线协作
docker·容器·开源
w_t_y_y1 天前
Nginx Plus
运维·数据库·nginx
yuguo.im1 天前
Docker 两大基石:Namespace 和 Cgroups
运维·docker·容器