# Service with Multiple backends

**URL:** <https://discuss.konghq.com/t/service-with-multiple-backends/6056>\
**Category:** Questions\
**Tags:** kubernetes\
**Created:** [April 16, 2020, 3:14pm UTC](https://discuss.konghq.com/t/service-with-multiple-backends/6056 "2020-04-16T15:14:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason](https://avatars.discourse-cdn.com/v4/letter/j/dc4da7/32.png) [@jason](https://discuss.konghq.com/u/jason)\
**Post date:** [April 16, 2020, 3:14pm UTC](https://discuss.konghq.com/t/service-with-multiple-backends/6056/1 "2020-04-16T15:14:50Z")

</div>

Hi Kong Nation 🙂  
we want set service with Multiple backends in k8s env. kong version is 2.0,ingress-controller version is 0.8.  
here are crd resource:  
apiVersion: [configuration.konghq.com/v1](http://configuration.konghq.com/v1)  
kind: KongIngress  
metadata:  
annotations:  
[kubernetes.io/ingress.class:](http://kubernetes.io/ingress.class:) kong  
creationTimestamp: “2020-04-16T08:54:23Z”  
generation: 1  
labels:  
[kubernetes.io/ingress.class:](http://kubernetes.io/ingress.class:) kong  
marketName: globalmarket  
name: kong-1-kongingress-ryxbwg1eix  
namespace: api-test  
resourceVersion: “24160561”  
selfLink: /apis/configuration.konghq.com/v1/namespaces/api-test/kongingresses/kong-1-kongingress-ryxbwg1eix  
uid: de5496f9-7fbf-11ea-ad11-00505685635a  
proxy:  
path: /api/v1  
route:  
methods:

- GET
- POST
- PUT
- DELETE
- PATCH  
name: apitest041501  
paths:
- /test222  
protocols:
- http  
strip\_path: true  
upstream: {}

apiVersion: extensions/v1beta1  
kind: Ingress  
metadata:  
annotations:  
[kubernetes.io/ingress.class:](http://kubernetes.io/ingress.class:) kong  
creationTimestamp: “2020-04-16T08:54:23Z”  
generation: 1  
labels:  
[kubernetes.io/ingress.class:](http://kubernetes.io/ingress.class:) kong  
marketName: globalmarket  
name: kong-1-kongingress-ryxbwg1eix  
namespace: api-test  
resourceVersion: “24160808”  
selfLink: /apis/extensions/v1beta1/namespaces/api-test/ingresses/kong-1-kongingress-ryxbwg1eix  
uid: de592833-7fbf-11ea-ad11-00505685635a  
spec:  
rules:

- http:  
paths:
  - backend:  
serviceName: demo5  
servicePort: 8080  
path: /test222
  - backend:  
serviceName: demo6  
servicePort: 8080  
path: /test222  
status:  
loadBalancer:  
ingress:
  - ip: 192.168.1.62

apiVersion: v1  
kind: Service  
metadata:  
annotations:  
[configuration.konghq.com](http://configuration.konghq.com): kong-1-kongingress-ryxbwg1eix  
[ingress.kubernetes.io/service-upstream:](http://ingress.kubernetes.io/service-upstream:) “true”  
system/customPorts: “”  
system/lbgroup: none  
system/schemaPortname: tcp-demo5-0/TCP/59268  
creationTimestamp: “2020-04-10T02:06:40Z”  
labels:  
name: demo5  
system/appName: demo5  
system/svcName: demo5  
name: demo5  
namespace: api-test  
resourceVersion: “24160562”  
selfLink: /api/v1/namespaces/api-test/services/demo5  
uid: eaaa7bea-7acf-11ea-ad11-00505685635a  
spec:  
clusterIP: 10.108.187.31  
ports:

- name: tcp-demo5-0  
port: 8080  
protocol: TCP  
targetPort: 8080  
selector:  
name: demo5  
sessionAffinity: None  
type: ClusterIP  
status:  
loadBalancer: {}

apiVersion: v1  
kind: Service  
metadata:  
annotations:  
[configuration.konghq.com](http://configuration.konghq.com): kong-1-kongingress-ryxbwg1eix  
[ingress.kubernetes.io/service-upstream:](http://ingress.kubernetes.io/service-upstream:) “true”  
system/customPorts: “”  
system/lbgroup: none  
system/schemaPortname: tcp-demo6-0/TCP/16710  
creationTimestamp: “2020-04-16T02:30:26Z”  
labels:  
name: demo6  
system/appName: demo6  
system/svcName: demo6  
name: demo6  
namespace: api-test  
resourceVersion: “24160563”  
selfLink: /api/v1/namespaces/api-test/services/demo6  
uid: 3b7eaa0a-7f8a-11ea-ad11-00505685635a  
spec:  
clusterIP: 10.99.152.148  
ports:

- name: tcp-demo6-0  
port: 8080  
protocol: TCP  
targetPort: 8080  
selector:  
name: demo6  
sessionAffinity: None  
type: ClusterIP  
status:  
loadBalancer: {}

After deployment,we find the data in postgres:  
service table:  
93b14734-ee23-4a14-8921-b325f5f70caa 2020-04-16 08:54:57+00 2020-04-16 08:54:57+00 api-test.demo5.8080 5 http demo5.api-test.8080.svc 80 /api/v1 60000 60000 60000 {managed-by-ingress-controller}   
177ba6a4-da31-4283-a9eb-0ed3b8c6f9cd 2020-04-16 08:54:57+00 2020-04-16 08:54:57+00 api-test.demo6.8080 5 http demo6.api-test.8080.svc 80 /api/v1 60000 60000 60000 {managed-by-ingress-controller}

upstream table:  
005ba66b-fff1-4572-9dc9-1e7c7482582d 2020-04-16 15:03:01+00 demo5.api-test.8080.svc none none / 10000 {“active”: {“type”: “http”, “healthy”: {“interval”: 0, “successes”: 0, “http\_statuses”: [200, 302]}, “timeout”: 1, “http\_path”: “/”, “https\_sni”: null, “unhealthy”: {“interval”: 0, “timeouts”: 0, “tcp\_failures”: 0, “http\_failures”: 0, “http\_statuses”: [429, 404, 500, 501, 502, 503, 504, 505]}, “concurrency”: 10, “https\_verify\_certificate”: true}, “passive”: {“type”: “http”, “healthy”: {“successes”: 0, “http\_statuses”: [200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308]}, “unhealthy”: {“timeouts”: 0, “tcp\_failures”: 0, “http\_failures”: 0, “http\_statuses”: [429, 500, 503]}}, “threshold”: 0} {managed-by-ingress-controller} round-robin   
6eb1a215-9847-40dc-b0a5-ec9c1600c6c1 2020-04-16 15:03:01+00 demo6.api-test.8080.svc none none / 10000 {“active”: {“type”: “http”, “healthy”: {“interval”: 0, “successes”: 0, “http\_statuses”: [200, 302]}, “timeout”: 1, “http\_path”: “/”, “https\_sni”: null, “unhealthy”: {“interval”: 0, “timeouts”: 0, “tcp\_failures”: 0, “http\_failures”: 0, “http\_statuses”: [429, 404, 500, 501, 502, 503, 504, 505]}, “concurrency”: 10, “https\_verify\_certificate”: true}, “passive”: {“type”: “http”, “healthy”: {“successes”: 0, “http\_statuses”: [200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308]}, “unhealthy”: {“timeouts”: 0, “tcp\_failures”: 0, “http\_failures”: 0, “http\_statuses”: [429, 500, 503]}}, “threshold”: 0} {managed-by-ingress-controller} round-robin

route table:

| fcaf9e39-db39-4916-ab00-862812997983 | 2020-04-16 08:54:57+00 | 2020-04-16 08:54:57+00 | 93b14734-ee23-4a14-8921-b325f5f70caa | {http} | {GET,POST,PUT,DELETE,PATCH} | | {/test222} | 0 | t | t | api-test.kong-1-kongingress-ryxbwg1eix.00 | | | | {managed-by-ingress-controller} | 426 | | v0 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| cac06a96-38da-4788-9f61-8fcef468596c | 2020-04-16 08:54:57+00 | 2020-04-16 08:54:57+00 | 177ba6a4-da31-4283-a9eb-0ed3b8c6f9cd | {http} | {GET,POST,PUT,DELETE,PATCH} | | {/test222} | 0 | t | t | api-test.kong-1-kongingress-ryxbwg1eix.01 | | | | {managed-by-ingress-controller} | 426 | | v0 |

target table:

| 6ceb8470-c2c2-4079-98b3-eea34185a88a | 2020-04-16 08:54:57.839+00 | 005ba66b-fff1-4572-9dc9-1e7c7482582d | demo5.api-test.svc:8080 | 100 | {managed-by-ingress-controller} |
| --- | --- | --- | --- | --- | --- |
| 8e6fd867-6ac4-4630-8b76-cd91c407f766 | 2020-04-16 08:54:57.839+00 | 6eb1a215-9847-40dc-b0a5-ec9c1600c6c1 | demo6.api-test.svc:8080 | 100 | {managed-by-ingress-controller} |

According to my understanding，it should create one service,route,upstream,and with two traget. is right or wrong?  
I try to invoke the created api,and can invoke successfully , but it send request to the same backend everytime.how to load balancing with Multiple backends?

---

<div class="post-metadata">

**Author:** ![hbagdi](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.konghq.com/hbagdi/32/562_2.png) [@hbagdi](https://discuss.konghq.com/u/hbagdi)\
**Post date:** [April 20, 2020, 9:01pm UTC](https://discuss.konghq.com/t/service-with-multiple-backends/6056/2 "2020-04-20T21:01:51Z")

</div>

No this is incorrect.  
What you have setup will result in traffic being sent either to demo5 or either to demo6 service only.  
To send traffic to both the services, create one service in k8s that spans the pods of both the services `demo5` and `demo6`.
