问题排查
#
去哪里排查?大部分常见问题排查都将在这 3 个命名空间中的对象上进行。
cattle-system
-rancher
deployment 和 pods。ingress-nginx
- Ingress controller pods 和 services。kube-system
-tiller
和cert-manager
pods。
#
"default backend - 404"多数情况下,这是由于 ssl 配置错误所致。
请检查以下三项参数是否有误:
#
Rancher 是否在运行使用kubectl
检查cattle-system
系统命名空间,并查看 Rancher 容器是否处于 Running 状态。
如果状态不是Running
,则需要在容器上运行describe
并检查事件。
#
检查 Rancher 日志使用kubectl
查看 pods 列表
使用kubectl
和 Pod 名称来列出 Pod 中的日志。
#
证书 CN 为伪证书使用浏览器检查证书详细信息。如果 Common Name 是Kubernetes Ingress Controller Fake Certificate
,则说明读取或颁发 SSL 证书时可能出了点问题。
注意事项: 如果您使用 LetsEncrypt 颁发证书,则有时可能需要花一些时间来等待证书发布。
#
cert-manager 发布的证书Rancher 生成的或是通过 LetsEncrypt 生成的
cert-manager
有 3 部分。
kube-system
命名空间中的cert-manager
pod。cattle-system
命名空间中的Issuer
对象。cattle-system
命名空间中的Certificate
对象。
对每个对象执行kubectl describe
并检查事件。您可以追踪可能缺少的东西。
例如颁布证书存在问题:
#
您自己提供的证书您的证书将直接应用于cattle-system
命名空间中的 Ingress 对象。
检查 Ingress 对象的状态,并查看其是否准备就绪。
如果其就绪并且 SSL 仍无法正常工作,则您的证书或密码可能格式错误。
检查 nginx-ingress-controller 日志。由于 nginx-ingress-controller 的容器中有多个容器,因此您需要指定容器的名称。
#
没有匹配的"Issuer"您选择的 SSL 配置选项需要在安装 Rancher 之前安装 cert-manager,否则会返回以下错误:
解决这个报错的办法是安装 cert-manager 并重新安装 Rancher。