[K8S Nested]: Load balancing is not happening across all the backend POD
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R4.0 |
Fix Committed
|
Critical
|
Hari Prasad Killi | |||
Trunk |
Fix Committed
|
Critical
|
Yuvaraja Mariappan |
Bug Description
Description:
In K8S nested setup, for a service, traffic is always landing on same backend pod rather load balancing.
For Service IP, agent programmed backend PODs as the active backup instead of active-active.
Vrouter is having only one entry as next hop instead of composite next hop.
Setup Details
--------------
*Single node contrail openstack cluster. Launched 3 VM. 1 acting as K8S master and other 2 as slaves.
*Service is created with 2 backend pods, launched on each nodes (VM)
* When a 3rd POD trying to access service, it is getting redirect to one backend pod only
Debug output
-------------
2017-08-15 05:59:40,796 - WARNING - No http hit seen for one or more pods.Pls check. Hits: {'ctest-
> /contrail-
root@vm-test-1:~# kubectl describe svc ctest-nginx-
Name: ctest-nginx-
Namespace: ctest-namespace
Labels: <none>
Annotations: <none>
Selector: app=http_test
Type: ClusterIP
IP: 10.107.220.45
Port: <unset> 80/TCP
Endpoints: 10.47.255.
Session Affinity: None
Events: <none>
root@5b8s38:~# rt --dump 1 | grep 10.107.220.45
10.107.220.45/32 32 PT - 43 -
root@5b8s38:~# nh --get 43
Id:43 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:5 Vrf:1
Encap Data: 02 e5 f7 0c 28 81 00 00 5e 00 01 00 81 00 00 32 08 00
root@5b8s38:~# vif --get 8
Vrouter Interface Table
Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, L=MAC Learning Enabled
Proxy=MAC Requests Proxied Always, Er=Etree Root
vif0/8 ctest-namespace
Vrf:1 Flags:PL3DEr QOS:-1 Ref:5
RX packets:476 bytes:26180 errors:0
TX packets:515 bytes:26532 errors:0
Agent Config
-------------
type:instance-ip name:ctest-
Api Server Loadbalancer memebers
-------
{
"loadbalanc
"fq_name": [
],
"href": "http://
"id_perms": {
},
"uuid": {
}
},
{
],
}
],
{
],
},
{
],
}
Changed in juniperopenstack: | |
importance: | Undecided → Critical |
assignee: | nobody → Sachchidanand Vaidya (vaidyasd) |
milestone: | none → r4.0.1.0 |
tags: | added: contrail-kube-manager |
tags: | added: blocker |
information type: | Proprietary → Public |
description: | updated |
description: | updated |
Changed in juniperopenstack: | |
assignee: | Sachchidanand Vaidya (vaidyasd) → Yuvaraja Mariappan (ymariappan) |
Changed in juniperopenstack: | |
milestone: | r4.0.1.0 → r4.1.0.0-fcs |
It seems config is good. It has to be analyzed in the agent side.
hari is looking into it. so reassigning to hari.