使用入口的动态重定向
Dynamic redirect using ingress
我有两个问题:
1) 我有一个包含多个服务的 kubernetes 集群,我想使用 ingress 将流量动态重定向到集群。
我希望配置看起来像这样:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1/*
backend:
serviceName: service1
servicePort: 80
path: /*
- path: /service2/*
backend:
serviceName: service2
servicePort: 80
path:/*
所以基本上我希望所有到 /service1/endpoint 的流量都动态重定向到 s1:80/endpoint。
2) 假设我有 2 个 Web 服务 - service1 和 service2。
我希望用户在他们的浏览器中使用以下 URL:
kube/serviceN/endpoint
有没有办法在不将我的用户重定向到 service1/endpoint 的情况下做到这一点?
谢谢!
我相信你的入口定义几乎是正确的:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1
backend:
serviceName: service1
servicePort: 80
- path: /service2
backend:
serviceName: service2
servicePort: 80
如果您正确部署了入口,这应该可以工作!
我希望我已经正确理解了您的问题,但如果是这样,您提供的示例就非常接近目标了。下面的配置应该按照描述工作。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1/
backend:
serviceName: service1
servicePort: 80
- path: /service2/
backend:
serviceName: service2
servicePort: 80
祝你好运:)
我有两个问题:
1) 我有一个包含多个服务的 kubernetes 集群,我想使用 ingress 将流量动态重定向到集群。
我希望配置看起来像这样:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1/*
backend:
serviceName: service1
servicePort: 80
path: /*
- path: /service2/*
backend:
serviceName: service2
servicePort: 80
path:/*
所以基本上我希望所有到 /service1/endpoint 的流量都动态重定向到 s1:80/endpoint。
2) 假设我有 2 个 Web 服务 - service1 和 service2。
我希望用户在他们的浏览器中使用以下 URL:
kube/serviceN/endpoint
有没有办法在不将我的用户重定向到 service1/endpoint 的情况下做到这一点?
谢谢!
我相信你的入口定义几乎是正确的:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1
backend:
serviceName: service1
servicePort: 80
- path: /service2
backend:
serviceName: service2
servicePort: 80
如果您正确部署了入口,这应该可以工作!
我希望我已经正确理解了您的问题,但如果是这样,您提供的示例就非常接近目标了。下面的配置应该按照描述工作。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /service1/
backend:
serviceName: service1
servicePort: 80
- path: /service2/
backend:
serviceName: service2
servicePort: 80
祝你好运:)