首页 > 解决方案 > 具有不同 DNS 的多租户设置的任何解决方案?

问题描述

我已经在我的 Kubernetes 中设置了我的前端集群并公开为frontend.loaner.com,我想指向这两者的 DNS 记录johndoe.loaner.comjanedoe.loaner.com以查看frontend.loaner.com.

是否可以仅将两个 DNS 指向一个正在运行的服务器并且仍然可以正常使用主机名?

我阅读了有关 CNAME 的信息,但它会将我重定向到frontend.loaner.com

标签: kubernetesdnsmulti-tenantkubernetes-ingress

解决方案


您可以使用 Kubernetes Ingress来做到这一点。基本上,是这样的:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: frontend.loaner.com
    http:
      paths:
      - path: /
        backend:
          serviceName: backend1
          servicePort: 80
  - host: johndoe.loaner.com
    http:
      paths:
      - path: /
        backend:
          serviceName: backend2
          servicePort: 80
  - host: janedoe.loaner.com
    http:
      paths:
      - path: /
        backend:
          serviceName: backend3
          servicePort: 80

上述 Ingress 资源假设您在集群中使用Nginx Ingress Controller


推荐阅读