Wpis z mikrobloga

#programowanie #devops #docker #kubernetes #microservices

Jak radzicie sobie z aplikacjami, które składają się z kilku kontenerów (np. aplikacja, baza danych, kolejka i dwa niezależne mikroserwisy)?

Żeby developer lokalnie mógł to sobie wszystko uruchomić jednym kliknięciem to pisze się Docker Compose.

Ale wdrożenie na środowisku po wypchnięciu commita jest na Kubernetes (OpenShift - OKD), więc musi być ta konfiguracja Kubernetesowa.

Jak z tym żyć? Są dwie konfiguracje, które robią to samo (tylko jedna na Docker Compose a druga na Kubernetes). Obie trzeba utrzymywać, zawsze coś nie działa, bo się różnią.

- Devops chce mieć konfigurację Kubernetes.
- Programiści chcą móc uruchomić całą aplikację u siebie, ale bez instalowania całego klastra Kubernetes lokalnie u siebie, bo to strasznie ciężkie. Żeby nie uruchamiać ręcznie każdego konternera to zostaje tylko Docker Compose.

Co z tym zrobić?
- Niech Devops zrezygnuje z Kubernetesa? (no na pewno nie xD ).
- Zmusić programistów niech instalują Kubernetesa na kompach?
- Niech zostanie jak jest i dwie konfiguracje, bo nic lepszego nie wymyślę?

Uruchamianie lokalnie tylko jednego serwisu, który developujesz, a resztę na zdalnym klastrze raczej odpada (nie masz dostępu do VPN i nie masz nic zrobić, wszystko musi iść po sieci, co bardzo zwalnia).
  • 8
  • Odpowiedz
@mk321: Klaster k8s dla developerów. Odpalają sobie całą aplikację na tym klastrze, każdy dev ma swój i tylko swój namespace. Za pomocą telepresence możesz lokalny kontener wpiąć do k8s i widzisz swoje zmiany od razu. U jednego klienta projekt to ponad 40 mikroserwisów, uruchomienie takiego czegoś lokalnie to overkill.
  • Odpowiedz
@mk321: zobacz sobie Podman. Składnia 1:1 z dockerem, nie ma wielu wyjątków. Potrafi dużo więcej. Kontenery są kompatybilne. Podman umie robić "pody" jak w Kubernetes i rozumie yamlową składnie z definicją Twoich usług identyczną jak w Kubernetes.

Czyli możesz zrobić jednego yaml i deployowac lokalnie i na k8s to samo. Dodatkowo możesz odpalić kontenery z "palucha" i dopiero potem z tych pracujących zrobić eksport do takiego właśnie yamla. Składasz sobie
  • Odpowiedz
@mk321: utrzymanie obu configow to az taki problem? Mowisz o systemi z 4-5 kontenerow i zakladam ze nowe nie wyrastaja jak grzyby po deszczu co sprint wiec jak raz ogarniecie compose i deploymenty to nie wiem czemu to mialby byc ciagly effort?
a jak nie pasuje to dev klaster - nic madrzejszego nie wymyslimy
  • Odpowiedz