我像这个一样安装了Nginx
helm install ingress-nginx ingress-nginx/ingress-nginx
--namespace ingress-nginx
--create-namespace
--version 4.2.0
--set controller.ingressClass=nginx
--set rbac.create=true
--values /tmp/ingress-nginx.yaml
一切都部署得很好
[rke@k8gui apps]$ kubectl get all -n ingress-nginx
NAME READY STATUS RESTARTS AGE
pod/ingress-nginx-controller-248rc 1/1 Running 0 3m15s
pod/ingress-nginx-controller-hpv8h 1/1 Running 0 3m15s
pod/ingress-nginx-controller-jwzjn 1/1 Running 0 3m15s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/ingress-nginx-controller LoadBalancer 10.43.117.177 192.168.33.100 80:31678/TCP,443:32340/TCP 3m4s
service/ingress-nginx-controller-admission ClusterIP 10.43.119.134 <none> 443/TCP 3m4s
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/ingress-nginx-controller 3 3 3 3 3 kubernetes.io/os=linux 3m4s
[rke@k8gui apps]$ curl http://192.168.33.100
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
但在负载平衡器上卷曲ext-ip显示404未找到
知道吗?
由于您可能没有部署任何入口,您将获得404。
上面粘贴的输出是入口控制器,它是一个Nginx控制器,带有外部IP。入口控制器管理入口,或者换句话说,管理路由规则。
如果您没有创建任何入口规则来将流量转移到集群中,或者如果规则不匹配Nginx将抛出404错误。
您正在从Nginx获取404本身,因此当您点击控制器的外部IP时,您的请求一直到达Nginx,但没有规则匹配。
正如您在输出中看到的
<hr><center>nginx</center>
尝试创建一个hello应用程序部署和入口路由规则,如示例所示:https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
似乎您正试图从集群内访问外部IP。
可能这是不可能的。
你能从浏览器上试试吗?在集群内,您可以尝试访问您的集群IP 10.43.1117.177。