【发布时间】:2020-12-05 11:49:09
【问题描述】:
我正在尝试创建一个入口控制器,该控制器指向我通过 NodePort 公开的服务。
这是入口控制器的 yaml 文件(取自 https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: hello-world.info
http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80
我可以直接连接到节点端口并显示前端。
请注意,我这样做是因为前端应用程序无法连接到我创建的其他部署,并且我读到入口控制器将能够解决该问题。我还需要添加 Nginx 反向代理吗?如果是这样,我会怎么做?我尝试将其添加到 nginx 配置文件中,但没有成功。
location /middleware/ {
proxy_pass http://middleware/;
}
【问题讨论】:
-
你得到 404 的 URL 是什么?
-
感谢您的回复!我从 minikube ip 地址得到 404。我在运行
kubectl get ingress时得到这样的网址 -
您是否更新了您的
hosts文件?hello-world.info不起作用,因为它不会被主机解析。 -
感谢您的回复!我决定跳过使用实际名称,直接进入 ip。会不会是这个问题?
-
是的。如果是 IP,您需要捕获所有 Ingress。在下面添加我的答案
标签: docker nginx kubernetes kubernetes-ingress