Wdrażam klaster Kubernetes na GCE przy użyciu Gitlab-CI. Chciałbym ograniczyć koszty do minimum - oto moja obecna konfiguracja:
- Węzły działają w 3
f1-micro
instancjach - System pod działający
Traefik
skonfigurowany z ServiceTypeLoadBalancer
- Konfiguracja symboli wieloznacznych dns
- 1
postgres
kapsułka - 1 pod serwer z
ingress
konfiguracją dla Traefik
Chciałbym obniżyć koszty mojego wdrożenia. Większość kosztów dotyczy modułu równoważenia obciążenia GCE. Czy istnieje sposób, w jaki mogę użyć publicznego adresu IP zamiast modułu równoważenia obciążenia w GCE? Jeśli tak, to czy mogę wykorzystać adres IP przydzielony do klastra (zamiast rezerwować statyczny adres IP)?
Innymi słowy, czy istnieje sposób na powiązanie efemerycznego adresu IP z usługą Kubernetes za pomocą GCE bez modułu równoważenia obciążenia?
Czy jest jakaś inna konfiguracja, którą mogę zrobić inaczej, która ogólnie obniży koszty w GCE?
Odpowiedzi:
Tak, przez zewnętrzne IPIP. Pamiętaj, że to oznacza, że Twoja usługa przestanie działać, jeśli węzeł, który powiedział, że przypisano zewnętrzny adres IP, zawiedzie, ale jeśli prowadzisz tylko 1 master, prawdopodobnie nie przejmujesz się tym zbytnio.
Przykładowa usługa:
Adres IP musi być wewnętrznym adresem IP instancji GCE (Dzieje się tak, ponieważ GCE DNAT przesyła ruch do wewnętrznych adresów IP). Usługa powinna być wówczas dostępna za pośrednictwem zewnętrznego adresu IP węzła.
Prawdopodobnie będziesz chciał zmienić usługę kontrolera wejściowego, aby móc kierować wszystkie aplikacje za pomocą jednego adresu IP.
źródło
NodePort
wersjęWolę nie używać funkcji równoważenia obciążenia w chmurze, dopóki nie będzie to konieczne ze względu na koszty i blokadę dostawcy.
Zamiast tego używam tego: https://kubernetes.github.io/ingress-nginx/deploy/
To kapsuła, która obsługuje dla ciebie moduł równoważenia obciążenia. Ta strona zawiera uwagi dotyczące instalacji GKE.
źródło