Kubernetes VRRP

 ( mj0019 | 2019. május 21., kedd - 10:29 )

Sziasztok,
Kubernetes cluster alatt szeretnénk VRRP (VIP) beállítani. Mert a DNS RR nem az igazi, ahogy azt a következő oldal is mondja:
https://github.com/kubernetes-retired/contrib/tree/master/keepalived-vip
Az lenne a kérdés, hogy használja-e a fenti programot valaki és mik a tapasztalatok vele? Esetleg van-e valami más megoldás erre a problémára, attól eltekintve, hogy oprendszer szinten oldjuk meg. (Mi most jelenleg CoreOS-eket használunk)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

de nem is LB akar hanem HA-t....
egyebkent a metallb containert -t nezd meg.

DNS RR alatt DNS Round Robin-ra gondoltam, ami szerintem nem HA.
Illetve a LB nem zárja ki, hogy HA legyen.

Még nem tudtam megnézni őket. De így gyorsan telefonról leírom, hogy mit szeretnék, egy rövid példával.
3 Node esetén mondjuk kiesik 2, akkor DNS RoundRobin esetén elég hosszú időnek kell eltelnie mire észreveszi, hogy kiesett 2 Node. Így a kérések 2/3-da hibára fog menni. Míg ha van egy IP amit folyamatosan címzek és azt átveszik a Nodeok akkor nincs semmi baj.
Ennek függvényében melyik is kellene megnézném tüzetesebben? :)

Illetve most jutott eszembe, hogy ha csak egy IP akkor nem is kell annyi DNS rekord bejegyzés sem.

akkor metallb neki - a kubeproxy az elvileg csak k8s-en belul oldja meg neked de reg olvastam....
https://metallb.universe.tf/

+1 metallb, megy jól

Ha jól értem akkor ez a metallB a szervizekhez rendel külön IP -t. De viszont én azt szeretném, hogy az egész Clustert egy IP-n legyen.
Amely IP-t mindig az aktuálisan aktív master Node veszi fel.

nem, ez csinál neked minden node-ra egy konténert, ami hirdeti az ip-ket, amiket használsz. ha lehal az egyik node, megy a másikra és így tovább. tehát lesznek ip-id amik mindig elérhetők valamelyik nodeon a clustereden belül és azt pedig tudod használni a service-ken keresztül (loadbalancerIP)

jaja, gyakorlatilag lesz egy vrrp/hsrp floating IP-d amin a service figyel, es kuldi hatra keepalived-vel a containernek

Ha jól értem akkor az összes szolgáltatásomnak be kell állítani ezt a LoadBalancert.
Mi az ajánlott IP range, vagy nincs ilyen? Mármint mennyi IP -t érdemes használni ? Mi történik ha én egyelőre csak egyet használok? Pl: 192.168.100.120 - 192.168.100.120
Szerkesztve: lehet hogy ez az egy IP jó nagy hülyeség, de nem biztos még nem látom át tökéletesen :)

csak annak amit exposeolni akarsz :) tipikusan az ingress ugye, mert belul ott a kubeproxy.
Egyebkent ott a doksija, megadod hogy L2 vagy L3 mukodjon, ha L2 akkor odaadsz neki egy tol-ig es gazdalkodik vele, ha L3 akkor meg BGPzik...

kotorj neki 10 cimet es legyen vele boldog.