Any solution for multi-tenant setup with different DNS?

5/14/2019

I have set up my frontend cluster in my Kubernetes and exposed as frontend.loaner.com and I want to point the DNS record of these both johndoe.loaner.com, janedoe.loaner.com to see the frontend.loaner.com.

Is that possible to just point two DNS to a 1 running server and works fine still having the hostname?

I read about the CNAME but it will redirect me to frontend.loaner.com

-- Sewer Rat
dns
kubernetes
kubernetes-ingress
multi-tenant

1 Answer

5/14/2019

You can do it with a Kubernetes Ingress. Basically, something like this:

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

The above Ingress resource assumes you are using an Nginx Ingress Controller in your cluster.

-- Rico
Source: StackOverflow