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