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)
- 1180 megtekintés
Hozzászólások
Szerintem te nem VRRP-t akarsz, mert az nem load-balance-ra való, hanem IPVS-t, amit pl a kube-proxy is tud
bővebben pár link,
https://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol
https://en.wikipedia.org/wiki/IP_Virtual_Server
https://github.com/kubernetes/kubernetes/tree/master/pkg/proxy/ipvs
https://kubernetes.io/blog/2018/07/09/ipvs-based-in-cluster-load-balanc…
- A hozzászóláshoz be kell jelentkezni
de nem is LB akar hanem HA-t....
egyebkent a metallb containert -t nezd meg.
- A hozzászóláshoz be kell jelentkezni
DNS RR alatt DNS Round Robin-ra gondoltam, ami szerintem nem HA.
Illetve a LB nem zárja ki, hogy HA legyen.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
akkor metallb neki - a kubeproxy az elvileg csak k8s-en belul oldja meg neked de reg olvastam....
https://metallb.universe.tf/
- A hozzászóláshoz be kell jelentkezni
+1 metallb, megy jól
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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)
- A hozzászóláshoz be kell jelentkezni
jaja, gyakorlatilag lesz egy vrrp/hsrp floating IP-d amin a service figyel, es kuldi hatra keepalived-vel a containernek
- A hozzászóláshoz be kell jelentkezni
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 :)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni