问题描述
是否可以使用相似的规则在同一端口上引用相同的后端服务来创建多个入口对象?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress1
spec:
rules:
- host: green.com
http:
paths:
- path: /
backend:
serviceName: red-svc
servicePort: 80
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress2
spec:
rules:
- host: pink.com
http:
paths:
- path: /
backend:
serviceName: red-svc
servicePort: 80
解决方法
这取决于您使用的入口控制器的实现。对于nginx,在构建nginx model
时适用以下规则- 如果在多个Ingress中为同一主机定义了相同的路径,则最早的规则将获胜。
- 如果多个入口为同一主机定义了不同的路径,则入口控制器将合并这些定义
由于您拥有不同的主机,因此以上都不适用,应该会很好
green.com
和pink.com
应该将流量路由到端口red-svc
上的相同后端80