Nginx Ingress FAQ

最近更新时间:2024-07-10 10:35:01

我的收藏

手动替换镜像升级版本后导致原有证书失效

背景

在手动替换 ingress-nginx-controller 镜像进行版本升级后,可能会导致原有的证书失效,从而引起 controller 自带的 webhook 工作异常。

处理流程

1. 删除保存在集群中的证书 secret:
对于所有升级之前版本在 v0.49.3 以下,或者未配置监听命名空间的 ingress-nginx-controller,secret 位于 kube-system 下:
kubectl -n kube-system delete secret <nginx-ingress名称>-ingress-nginx-admission
对于其他配置了 watch-namespace 的 ingress-nginx,secret 位于 watch-namespace 下:
kubectl -n <watch-namespace> delete secret <nginx-ingress名称>-ingress-nginx-admission
2. 删除 nginxingress 对应的 webhook:
kubectl delete validatingwebhookconfigurations <nginx-ingress名称>-ingress-nginx-admission
3. 为 NginxIngress CR 添加任意 label 重新触发证书生成:
kubectl label nginxingresses <nginx-ingress名称> resync=true