Docker Nginx入口控制器返回404 Kubernetes

Docker Nginx入口控制器返回404 Kubernetes,docker,nginx,kubernetes,kubernetes-ingress,Docker,Nginx,Kubernetes,Kubernetes Ingress,我正在尝试创建一个入口控制器,该控制器指向我通过NodePort公开的服务 以下是入口控制器的yaml文件(取自): 我可以直接连接到节点端口,并显示前端 请注意,我这样做是因为前端应用程序无法连接到我创建的其他部署,并且我了解到入口控制器将能够解决此问题。我还需要添加Nginx反向代理吗?如果是这样,我该怎么做?我曾尝试将其添加到nginx配置文件,但没有成功 location /middleware/ { proxy_pass http://middleware/; }

我正在尝试创建一个入口控制器,该控制器指向我通过NodePort公开的服务

以下是入口控制器的yaml文件(取自):

我可以直接连接到节点端口,并显示前端

请注意,我这样做是因为前端应用程序无法连接到我创建的其他部署,并且我了解到入口控制器将能够解决此问题。我还需要添加Nginx反向代理吗?如果是这样,我该怎么做?我曾尝试将其添加到nginx配置文件,但没有成功

location /middleware/ {
      proxy_pass http://middleware/;
   }

必须使用正确的主机名才能到达
入口
对象中定义的路由。更新
/etc/hosts
文件或使用
curl-H“hello world.info”localhost
键入命令。或者,您可以删除主机映射,并将所有流量重定向到一个默认服务

apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 名称:示例入口 规格: 规则: -http: 路径: -路径:/ 后端: serviceName:appName 服务端口:80
您从哪个URL获得404?感谢您的回复!我从minikube ip地址获取404。我在运行
kubectl get ingres
时得到了这样的url,你更新了你的
hosts
文件了吗
hello world.info
将无法工作,因为主机无法解决此问题。感谢您的回复!我决定不使用实际名称,直接转到ip。这就是问题所在吗?是的。如果是IP,您需要捕获所有入口。在下面添加我的答案是有效的!非常感谢你!但是,我仍然无法允许此播客访问其他播客。我还需要使用Nginx反向代理吗?我该怎么做?谢谢编辑:我有
http://middleware
和我的代码中类似的其他引用。谢谢你的帮助。我仍在学习K8s。您需要将其他POD公开为服务,并使用该服务进行通信。就像在本例中一样,ingress controller能够与
appName
服务进行对话。将
中间件
作为服务对象和
http://middleware
就行了。嗯。我已经建立了一个中间件服务,可以curl(
curl)http://middleware
)从另一个吊舱中取出。但是,当我在网站上看到服务名称时,它会说错误名称未解析,我读到这是因为该代码正在浏览器中执行,因此无法访问服务。这是正确的吗?如何解决此问题?如果需要从外部(例如从浏览器)访问服务,则需要添加另一条入口路由。您可以使用路径或主机创建另一个入口对象。检查此示例:。获得路径路由后,您可以访问该路径上的服务。别忘了添加重写注释。
location /middleware/ {
      proxy_pass http://middleware/;
   }