I have a k8s cluster like below
#kubectl get all NAME READY STATUS RESTARTS AGE pod/nginx-ingress-controller-d78c45477-gxm59 1/1 Running 0 8d pod/nginx-ingress-default-backend-5b967cf596-dc8ss 1/1 Running 0 8d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.245.0.1 443/TCP 9d service/nginx-ingress-controller LoadBalancer 10.245.203.193 A.B.C.D 80:30033/TCP,443:31490/TCP 8d service/nginx-ingress-default-backend ClusterIP 10.245.58.229 80/TCP 8d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/nginx-ingress-controller 1/1 1 1 8d deployment.apps/nginx-ingress-default-backend 1/1 1 1 8d NAME DESIRED CURRENT READY AGE replicaset.apps/nginx-ingress-controller-d78c45477 1 1 1 8d replicaset.apps/nginx-ingress-default-backend-5b967cf596 1 1 1 8d
As above, I have an external ip A.B.C.D.
I also have two domains domainA.com and domainB.com.
My DNS setting is like below:
for domainA.com:
-----domain A---- A www.domainA.com A.B.C.D -----domain B---- A www.domainB.com A.B.C.D
After I install two apps with helm
I got
# kubectl describe ingress Name: app1 Namespace: default Address: A.B.C.D Default backend: default-http-backend:80 () Rules: Host Path Backends ---- ---- -------- www.domainA.com app1:80 (10.244.1.15:80,10.244.1.33:80) Annotations: kubernetes.io/ingress.class: nginx Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal CREATE 10m nginx-ingress-controller Ingress default/app1 Normal UPDATE 9m48s nginx-ingress-controller Ingress default/app1 Name: app2 Namespace: default Address: A.B.C.D Default backend: default-http-backend:80 () Rules: Host Path Backends ---- ---- -------- www.domainB.com app2:80 (10.244.1.15:80,10.244.1.33:80) Annotations: kubernetes.io/ingress.class: nginx Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal CREATE 8m24s nginx-ingress-controller Ingress default/app2 Normal UPDATE 7m49s nginx-ingress-controller Ingress default/app2
I don't know why the backends have two IPs.
www.domainA.com and www.domainB.com may route to same ip(10.244.1.15:80) which is I don't want.
I want a single external ip route to different pods by hosts like virtual server
www.domainA.com app1:80 (10.244.1.15:800) ----------------- www.domainB.com app2:80 (10.244.1.33:80)
How could I fix my configuration?
Thank you