Ingress诊断主要包括Ingress注解、Ingress Controller组件启动参数等检查项。
注意
使用故障诊断功能时,系统将在您的集群节点上执行数据采集程序并收集检查结果。采集的信息包括系统版本,负载、Docker、Kubelet等运行状态及系统日志中关键错误信息。数据采集程序不会采集您的业务信息及敏感数据。
Ingress诊断对应的检查项
根据集群配置,具体检查项可能稍有不同。实际结果请以诊断页面结果为准。
检查项名称 | 说明 | 修复方案 |
检查Ingress是否存在 | 检查是否通过提供的信息找到了对应的Ingress资源。 | 检查所提供的URL信息是否有能够对应的Ingress规则。若URL信息无误,可能是Ingress规则存在问题。 |
Ingress名称 | 展示所匹配到的Ingress规则名称。 | 无 |
检查是否使用了nginx.ingress.kubernetes.io/session-cookie-hash废弃注解 | 检查是否使用了在0.24.0版本废弃的nginx.ingress.kubernetes.io/session-cookie-hash注解key。 | 确认当前Ingress Controller版本,移除该注解或使用其他注解代替。 |
检查是否使用了nginx.ingress.kubernetes.io/base-url-scheme废弃注解 | 检查是否使用了在0.22.0版本废弃的nginx.ingress.kubernetes.io/base-url-scheme注解key。 | 确认当前Ingress Controller版本,移除该注解或使用其他注解代替。 |
检查是否使用了nginx.ingress.kubernetes.io/secure-backends废弃注解 | 检查是否使用了在0.21.0版本废弃的nginx.ingress.kubernetes.io/secure-backends注解key。 | 确认当前Ingress Controller版本,移除该注解或使用其他注解代替。 |
检查是否使用了nginx.com/nginx.org注解 | 检查是否使用了不兼容社区版Nginx Ingress Controller的商业版Ingress注解key(以nginx.com/nginx.org开头)。 | 请使用对应功能的正确用法。关于Ingress更多信息,请参见社区官方文档Nginx Ingress Controller。(引用到官方文档) |
检查是否使用了nginx.ingress.kubernetes.io/grpc-backend废弃注解 | 检查是否使用了在0.21.0版本废弃的nginx.ingress.kubernetes.io/grpc-backend注解key。 | 确认当前Ingress Controller版本,移除该注解或使用其他注解代替。 |
检查是否使用了nginx.ingress.kubernetes.io/mirror-uri废弃注解 | 检查是否使用了在0.24.0版本废弃的nginx.ingress.kubernetes.io/mirror-uri注解key。 | 确认当前Ingress Controller版本,移除该注解或使用其他注解代替。 |
检查是否启用了canary | 使用了nginx.ingress.kubernetes.io/canary相关注解,但value值为"false‘,如果需要使用灰度功能,请指定nginx.ingress.kubernetes.io/canary: "true"。 | 如果您需要在该Ingress上开启Canary功能,请在Ingress规则上添加nginx.ingress.kubernetes.io/canary: "true"注解。 |
检查Ingress是否存在异常事件 | 检查集群中是否存在与该Ingress相关的异常事件。 | 检查并处理异常事件描述信息中的报错,如无法解决,请提交工单处理。 |
检查Ingress Controller是否存在 | 检查Ingress使用的Ingress Class对应的Ingress Controller工作负载是否存在。 | 确认kube-system命名空间下Ingress Controller工作负载存在。如不存在,请尝试安装相关Ingress Controller插件。 |
Ingress Controller就绪Pod比值 | 检查Ingress Controller工作负载对应的就绪Pod比值。 | 检查Ingress Controller Pod状态,保证Pod存在且处于Ready状态。 |
检查是否使用了--force-namespace-isolation废弃的启动参数 | 检查Ingress Controller是否使用了在0.24.0版本废弃的"--force-namespace-isolation"启动参数。 | 确认当前Ingress Controller版本,移除该启动参数。 |
检查是否使用了--sort-backends废弃的启动参数 | 检查Ingress Controller是否使用了在0.22.0版本废弃的"--sort-backends"启动参数。 | 确认当前Ingress Controller版本,移除该启动参数。 |
检查Ingress Controller Pod中是否存在error日志 | 检查Ingress Controller Pod最近的日志中是否包含error错误日志。 | 检查并处理Ingress Controller Pod中报错日志,如Service端口冲突等。 |