alexandre_girau
Dec 22, 2017Altocumulus
Persistence issue with TCP
Hi all,
We have a very simple configuration where we have multiple node in a pool for a specific TCP protocol (port 6000). In front of F5 farm we have an additionnal network device who NAT sourc...
- Dec 29, 2017
Ok, I finally fix it ^^
The issue was because I created a pool with 4 members, 2 same IP but different service port, cause we have 2 versions who using different socket
And I have 2 Virtual Services different (based on version) with an iRule different for each in order to select specific node with the target port. The irule was like this :
when CLIENT_ACCEPTED { set xxx_node1 "13.x.x.183" set xxx_node2 "40.x.x.221" set xxx_ppol "pool_vm_xxx_prod" set xxx_port yyyy if { ([LB::status pool $xxx_ppol member $xxx_node1 $xxx_port] eq "up") and ([LB::status pool $xxx_ppol member $xxx_node2 $xxx_port] eq "up") } { node $xxx_node1 $xxx_port node $xxx_node2 $xxx_port } elseif { ([LB::status pool $xxx_ppol member $xxx_node1 $xxx_port] eq "up") and ([LB::status pool $xxx_ppol member $xxx_node2 $xxx_port] eq "down") } { node $xxx_node1 $xxx_port } elseif { ([LB::status pool $xxx_ppol member $xxx_node1 $xxx_port] eq "down") and ([LB::status pool $xxx_ppol member $xxx_node2 $xxx_port] eq "up") } { node $xxx_node2 $xxx_port } else { log "Error : Pool $xxx_ppol is down" }
}
Finally, I just recreate 2 new pool specific to each version and on my 2 VS I associate this new pool based on target version and deleted the associated iRule.
And now, my traffic is correctly load balanced 😉
Thanks to all who help me in this situation
Have a nice day, Regards Alex