Hi Eduardo.

Thu May 23 14:30:46 GMT+02:00 2019 Eduardo Doria Lima :

> HI Aleks,
 > "First why do you restart all haproxies at the same time and don't use 
 > rolling updates ?"
 > We restarts all HAProxys at the same time because they watch Kubernetes API. 
 > The ingress ( https://github.com/jcmoraisjr/haproxy-ingress 
 > [https://github.com/jcmoraisjr/haproxy-ingress] ) do this automatic. I was 
 > talking with ingress creator João Morais about the possibility of use a 
 > random value to restart but we agree it's not 100% secure to keep the table. 
 > The ingress don't use rolling update because it's fast to realod HAProxy 
 > than kill entire Pod. I think. I will find more about this.

João, Baptiste and I talked about this topic on the kubeconf here and the was 
the suggestion to add the "local host" in the peers section.
 When a restart happen then haproxy new process ask haproxy old process to get 
the data.

I don't know when joao have the time to implement the peers part.

Regards
 Aleks

> "Maybe you can add a init container to update the peers in the current 
> running haproxy pod's with socket commands, if possible."
 > The problem is not update the peers, we can do this. The problem is all the 
 > peers reload at same time.
 > "* how often happen such a restart?"
 > Not to much, but enough to affect some users when it occurs.
 >
 > "* how many entries are in the tables?"
 > I don't know exactly, maybe between thousand and ten thousand.
 >
 > Thanks!
 > Att, Eduardo
 >
 >
 >
 > Em qua, 22 de mai de 2019 às 16:10, Aleksandar Lazic < [email protected] [] 
 > > escreveu:
 >
 >>
 >> Hi Eduardo.
 >>
 >> That's a pretty interesting question, at least for me.
 >>
 >> First why do you restart all haproxies at the same time and don't use 
 >> rolling updates ?
 >>
 >> https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/ 
 >> [https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/]
 >>
 >> Maybe you can add a init container to update the peers in the current 
 >> running haproxy pod's with socket commands, if possible.
 >>
 >> https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 
 >> [https://kubernetes.io/docs/concepts/workloads/pods/init-containers/]
 >>
 >> http://cbonte.github.io/haproxy-dconv/1.9/management.html#9.3 
 >> [http://cbonte.github.io/haproxy-dconv/1.9/management.html#9.3]
 >>
 >> Agree with you that peers possibility would be nice.
 >>
 >> Some other questions are.
 >>
 >> * how often happen such a restart?
 >> * how many entries are in the tables?
 >>
 >> I don't see anything wrong to use a "quorum" Server. This is a pretty 
 >> common solution even on contained setups.
 >>
 >> Regards
 >> Aleks
 >>
 >> Wed May 22 15:36:10 GMT+02:00 2019 Eduardo Doria Lima < 
 >> [email protected] [] >:
 >>
 >>> Hi,
 >>> I'm using HAProxy to support a system that was initially developed for 
 >>> Apache (AJP) and JBoss. Now we are migrating it's infrastructure to a 
 >>> Kubernetes cluster with HAProxy as ingress (load balancer).
 >>> The big problem is this system depends strict to JSESSIONID. Some internal 
 >>> requests made in Javascript or Angular don't respect browser cookies and 
 >>> send requests only with original Jboss JSESSIONID value.
 >>> Because of this we need a sticky-table to map JSESSIONID values. But in a 
 >>> cluster environment ( https://github.com/jcmoraisjr/haproxy-ingress 
 >>> [https://github.com/jcmoraisjr/haproxy-ingress] ) HAProxy has many 
 >>> instances and this instances don't have fixed IP, they are volatile.
 >>> Also, in Kubernetes cluster everything is in constant change and any 
 >>> change is a reload of all HAProxy instances. So, we lost the sticky-table.
 >>> Even we use "peers" feature as described in this issue ( 
 >>> https://github.com/jcmoraisjr/haproxy-ingress/issues/296 
 >>> [https://github.com/jcmoraisjr/haproxy-ingress/issues/296] ) by me, we 
 >>> don't know if table will persist because all instances will reload in the 
 >>> same time.
 >>> We thought to use a separate HAProxy server only to cache this table. This 
 >>> HAProxy will never reload. But I'm not comfortable to use a HAProxy server 
 >>> instance only for this.
 >>> I appreciate if you help me. Thanks!
 >>>
 >>> Att,
 >>> Eduardo
 >>>
 >>
 >



Reply via email to