用于Kubernetes的Nginx入口;“拒绝连接”;

用于Kubernetes的Nginx入口;“拒绝连接”;,nginx,kubernetes,google-kubernetes-engine,Nginx,Kubernetes,Google Kubernetes Engine,Nginx Ingress最近有变化吗?出乎意料的是,我现在遇到了“连接被拒绝”的错误。我以为是我自己的配置在以前的集群上工作 相反,我决定遵循本教程,我得到了相同的结果 $ kubectl get deployments --all-namespaces NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE default hello-app

Nginx Ingress最近有变化吗?出乎意料的是,我现在遇到了“连接被拒绝”的错误。我以为是我自己的配置在以前的集群上工作

相反,我决定遵循本教程,我得到了相同的结果

$ kubectl get deployments --all-namespaces
NAMESPACE     NAME                            DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
default       hello-app                       1         1         1            1           13m
default       nginx-ingress-controller        1         1         1            1           12m
default       nginx-ingress-default-backend   1         1         1            0           12m
我看到默认后端没有运行,但我对Kubernetes了解不够,不知道这是不是妨碍一切正常工作的原因

$ kubectl get svc
NAME                            TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE
hello-app                       ClusterIP      10.31.255.90    <none>         8080/TCP                     14m
kubernetes                      ClusterIP      10.31.240.1     <none>         443/TCP                      19m
nginx-ingress-controller        LoadBalancer   10.31.251.198   35.227.50.24   80:31285/TCP,443:30966/TCP   14m
nginx-ingress-default-backend   ClusterIP      10.31.242.167   <none>         80/TCP                       14m
根据教程,我应该能够得到一个200和一个404

我让链接保持活动状态,这样你们都可以看到它们

$ curl -I http://35.237.184.85/hello
curl: (7) Failed to connect to 35.237.184.85 port 80: Connection refused
我发誓以前一切都正常,我唯一能想到的是nginx ingress的出纳员安装发生了变化


请,任何帮助都将不胜感激!提前谢谢你

这是因为您正在尝试针对入口创建的IP地址执行请求。您的入口点是由IP创建的LoadBalancer类型服务


尝试
curl-Ihttp://35.227.50.24/hello
。这就是您将获得200个视图的地方。

好的,所以是6k视图,这是不对的。让我们解决这个问题:

我看到默认后端没有运行,但我对Kubernetes了解不够,不知道这是不是妨碍一切正常工作的原因

$ kubectl get svc
NAME                            TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE
hello-app                       ClusterIP      10.31.255.90    <none>         8080/TCP                     14m
kubernetes                      ClusterIP      10.31.240.1     <none>         443/TCP                      19m
nginx-ingress-controller        LoadBalancer   10.31.251.198   35.227.50.24   80:31285/TCP,443:30966/TCP   14m
nginx-ingress-default-backend   ClusterIP      10.31.242.167   <none>         80/TCP                       14m
defaut后端为hello和healthz页面提供服务。不运行=没有页面


LoadBalancer服务IP是记录应该指向的域吗?我认为流量应该到达入口IP,特别是如果你想要SSL的话


是的,您应该始终指向入口的IP。这就是他们处理基于命名的http(s)请求的入口点,以路由到适当的服务并处理(在https的情况下)TLS/SSL内容。如果您打算这样做,请确保在集群上配置了类似证书自动颁发的证书管理器。

您需要从POD提供日志,从
nginx入口默认后端开始。
,因为很有可能是什么让入口控制器生气,是负载均衡器服务IP记录应该指向某个域?我认为流量应该到达入口IP,特别是如果您想要SSL。
LoadBalancer
type服务指向入口控制器,并从那里重定向到正确的服务。