【发布时间】:2018-12-12 21:58:55
【问题描述】:
我需要将 Ingress 指向图像,以便我的 Pod 获取完整的 URL。我有以下配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: solar-demo
annotations:
nginx.org/server-snippet: "proxy_ssl_verify off;"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: shmukler.example.com
http:
paths:
- path: /city/*
backend:
serviceName: solar-demo
servicePort: 3000
- path: /solar/*
backend:
serviceName: solar-demo
servicePort: 3001
如果我保留这条线:nginx.ingress.kubernetes.io/rewrite-target: /,我在 Pod 中的服务将获得重写的路径,所以 /city/dublin 变为 /dublin。
如果我注释掉 nginx.ingress.kubernetes.io/rewrite-target: / 行,我只会在客户端收到 503 错误,而日志中什么也没有。通过重写,我的服务给了我404,因为没有路由/dublin。
我做错了什么?我怎么能直接传递路径并让 Pod 响应?
$ kubectl describe svc solar-demo
Name: solar-demo
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration=
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"solar-demo","namespace":"default"},"spec":{"ports":[{"name":"city","port":3000...
Selector: app=testapp
Type: ClusterIP
IP: 10.107.221.76
Port: city 3000/TCP
TargetPort: 3000/TCP
Endpoints: 172.17.0.3:3000,172.17.0.8:3000
Port: solar 3001/TCP
TargetPort: 3001/TCP
Endpoints: 172.17.0.3:3001,172.17.0.8:3001
Session Affinity: None
Events: <none>
建议?
【问题讨论】:
标签: nginx kubernetes minikube kubernetes-ingress