多个入口对象一项服务

问题描述

是否可以使用相似的规则在同一端口上引用相同的后端服务来创建多个入口对象?

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

时适用以下规则
  1. 如果在多个Ingress中为同一主机定义了相同的路径,则最早的规则将获胜。
  2. 如果多个入口为同一主机定义了不同的路径,则入口控制器将合并这些定义

由于您拥有不同的主机,因此以上都不适用,应该会很好 green.compink.com应该将流量路由到端口red-svc上的相同后端80