首页 > 解决方案 > Rancher - AWS,RKE 提供默认后端 - 404 错误

问题描述

全部,

我们根据链接在我们的 AWS 环境中安装了带有 RKE 的 Kubernetes - https://rancher.com/docs/rancher/v2.x/en/installation/ha/

所有步骤都运行良好,并且 AWS NLB 中的节点运行良好。我没有看到任何豆荚有任何问题。但是当我们点击 NLB url --> https://nlburl.amazonaws.com时,它会给出一个错误/消息作为“默认后端 - 404”。当我在输入 localhost 时在每个节点中输入时,都会出现同样的错误。版本和其他 cmd 输出如下所示。

关于如何调试和解决问题的想法或意见?

ubuntu@xxx:/tmp$ ./rke -v
rke version v0.1.14

ubuntu@xxx:/tmp$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}

ubuntu@xxx:/tmp$ kubectl --kubeconfig /tmp/kube_config_cluster.yml get ingress -n cattle-system -o wide
NAME      HOSTS                     ADDRESS                                    PORTS     AGE
rancher   rancher.mydomain.com   1.2.3.4,5.6.7.8,9.0.1.2   80, 443   19h

ubuntu@xxx:/tmp$ kubectl --kubeconfig /tmp/kube_config_cluster.yml get nodes
NAME      STATUS   ROLES                      AGE   VERSION
1.2.3.4   Ready    controlplane,etcd,worker   21h   v1.11.5
5.6.7.8   Ready    controlplane,etcd,worker   21h   v1.11.5
9.0.1.2   Ready    controlplane,etcd,worker   21h   v1.11.5


ubuntu@xxx:/tmp$ kubectl --kubeconfig /tmp/kube_config_cluster.yml describe ingress -n cattle-system
Name:             rancher
Namespace:        cattle-system
Address:          1.2.3.4,5.6.7.8,9.0.1.2
Default backend:  default-http-backend:80 (<none>)
TLS:
  tls-rancher-ingress terminates rancher.mydomain.com
Rules:
  Host                     Path  Backends
  ----                     ----  --------
  rancher.mydomain.com
                              rancher:80 (<none>)
Annotations:
  certmanager.k8s.io/issuer:                          rancher
  field.cattle.io/publicEndpoints:                    [{"addresses":["1.2.3.4","5.6.7.8","9.0.1.2"],"port":443,"protocol":"HTTPS","serviceName":"cattle-system:rancher","ingressName":"cattle-system:rancher","hostname":"rancher.mydomain.com","allNodes":false}]
  nginx.ingress.kubernetes.io/proxy-connect-timeout:  30
  nginx.ingress.kubernetes.io/proxy-read-timeout:     1800
  nginx.ingress.kubernetes.io/proxy-send-timeout:     1800
Events:                                               <none>

ubuntu@1.2.3.4:/tmp$ curl localhost
default backend - 404

标签: rancher

解决方案


您看到的 404 来自集群入口的默认支持。

您访问的 Rancher Server URL 不正确。试试https://rancher.mydomain.com

要使其正常工作,要么需要有一个指向 NLB 的 CNAME 的 DNS 条目,要么在本地计算机上rancher.mydomain.com有一个类似的条目。/etc/hosts


推荐阅读