即使使用Ingress,我们是否需要将服务保留为nodePort



你好,Kubernetes专家,

试图在这里得到更好的理解。

我已经创建了一个具有常规部署yaml和服务yaml的部署服务是节点端口,然后我创建了一个入口并指向服务

尝试访问该服务,它在nginxingress上的默认端口80上正常工作。

Next创建了相同的部署和服务文件。此处指示的节点端口的唯一例外是选择ClusterIP。创建入口并指向服务。

尝试访问该服务,但它只是在nginx主页上失败,并且没有对我的应用程序进行任何路由。

我知道nodeport是向外部世界公开应用程序的东西。但是我使用Ingress来获得相同的功能。

即使我们使用Ingress,我们真的需要将服务设置为节点端口吗???

或者我的yaml文件出了严重问题。我试着读了一下,但没有得到任何相关的解释。

谢谢,Anish

首先,ServiceIngress资源在云提供商之间的工作方式有点不同。例如,在谷歌云平台和AWS上,当使用Ingress时,您需要使用NodePort服务,但在例如OpenShift上,ClusterIP正在工作。

大多数情况下,原因是负载均衡器位于集群外部(我工作的OpenShift环境并非如此(。

从Google Cloud文档中,使用NodePort进行负载平衡,但如果您的负载平衡器是",则使用ClusterIP;容器本地";。

在服务清单中,除非使用容器本机负载平衡,否则必须使用类型:NodePort。如果使用容器本机负载平衡,请使用类型:ClusterIP。

相关内容

  • 没有找到相关文章

最新更新