Kubernetes 一个服务中的多个入口对象

Kubernetes 一个服务中的多个入口对象,kubernetes,kubernetes-ingress,kubernetes-pod,Kubernetes,Kubernetes Ingress,Kubernetes Pod,是否可以在同一端口上创建多个引用同一后端服务的具有类似规则的入口对象 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress1 spec: rules: - host: green.com http: paths: - path: / backend: serviceName: red-svc servicePort

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

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,在构建

  • 如果在多个入口中定义了同一主机的同一路径,则最早的规则获胜
  • 如果多个入口为同一主机定义不同的路径,入口控制器将合并这些定义
  • 由于您有不同的主机,因此上述任何一项都不适用,应该可以,即两者都适用
    green.com
    pink.com
    应该将流量路由到端口
    80

    上相同的后端
    red svc
    ,如果您只是创建单独的入口以路由到具有单独主机名的相同服务。用不同的主机在同一入口中添加另一条规则如何?好消息。如果每个主机都需要TLS证书,您将如何处理此问题?如果查看入口示例,您将看到每个主机块都有自己的TLS部分。