首页 > 解决方案 > 多个入口对象一项服务

问题描述

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

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

标签: kuberneteskubernetes-ingresskubernetes-pod

解决方案


这取决于您使用的入口控制器的实现。对于 nginx,在构建nginx 模型时适用以下规则

  1. 如果同一主机的相同路径在多个 Ingress 中定义,则最旧的规则获胜。
  2. f 多个 Ingress 为同一主机定义不同的路径,入口控制器将合并定义

由于您有不同的主机,以上都不适用,它应该没问题,即两者都 green.com应该pink.com将流量路由到red-svc端口上的同一后端80


推荐阅读