我尝试使用ListBox
<NodeIP>:30080
我正在尝试使用Ingress:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: app-deployment
spec:
replicas: 3
template:
metadata:
labels:
name: app-node
spec:
containers:
- name: app
image: myregistry.net/repo/app:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
env:
- name: NODE_ENV
value: production
---
apiVersion: v1
kind: Service
metadata:
name: app-service
spec:
selector:
name: app-node
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30080
type: NodePort
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress
spec:
rules:
- host: myhost.com
http:
paths:
- path: /app
backend:
serviceName: app-service
servicePort: 80
与nginx简介屏幕一起使用,但是myhost.com
给出myhost.com/app
。我的设置中的问题在哪里?
更新:
404 Not Found
如果我执行root路径,它可以工作,但是 - path: /
backend:
serviceName: app-service
servicePort: 80
怎么不行?
答案 0 :(得分:5)
您的入口定义创建规则来代理从{path}
到{backend.serviceName}{path}
的流量。对于您的情况,我认为它不起作用的原因是/app
被代理到app-service:80/app
,但是您打算在/
根上提供流量。尝试将此注释添加到您的入口资源中:nginx.ingress.kubernetes.io/rewrite-target: /
来源:https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/rewrite