更新时间:2024-07-27 GMT+08:00
nginx-ingress插件升级检查
检查项内容
- 检查集群中是否存在未指定Ingress类型(annotations中未添加kubernetes.io/ingress.class: nginx)的Nginx Ingress路由。
问题自检
针对Nginx类型的Ingress资源,查看对应Ingress的YAML,如Ingress的YAML中未指定Ingress类型,并确认该Ingress由Nginx Ingress Controller管理,则说明该Ingress资源存在风险。
- 获取Ingress类别。
- 确认该Ingress被Nginx Ingress Controller纳管。如果使用ELB类型的Ingress则无此问题。
- 1.19集群可由通过managedFields机制确认。
kubectl get ingress <ingress-name> -oyaml | grep 'manager: nginx-ingress-controller'
- 其他版本集群可通过Nginx Ingress Controller Pod的日志确认。
kubectl logs -nkube-system cceaddon-nginx-ingress-controller-545db6b4f7-bv74t | grep 'updating Ingress status'
若通过上述两种方式仍然无法确认,请联系技术支持人员。
- 1.19集群可由通过managedFields机制确认。
解决方案
为Nginx类型的Ingress添加注解,方式如下:
kubectl annotate ingress <ingress-name> kubernetes.io/ingress.class=nginx
ELB类型的Ingress无需添加该注解,请确认该Ingress被Nginx Ingress Controller纳管。
父主题: 升级前检查异常问题排查