Jak zautomatyzować wdrożenia za pomocą Kubernetes?


12

Zakładając, że Kubernetes został wdrożony za pośrednictwem Ranchera, a Jenkins buduje nowe obrazy i przekazuje je do DockerHub po zameldowaniu nowego kodu w GitHub, jak mogę zautomatyzować wdrażanie nowych obrazów?

Innym sposobem na zadanie pytania może być: „Do zarządzania wdrożeniami korzystałem z Octopus. Czy jest coś podobnego do Kubernetesa lub Ranchera? Ostatecznie walczę z tą ostatnią luką.

Odpowiedzi:


4

Gdy używasz Rancher, najprostszym sposobem byłoby zarejestrowanie niestandardowego katalogu Rancher i utworzenie elementu dla każdego stosu / usługi, które chcesz wdrożyć.

Dodaj katalog niestandardowy

Katalog Rancher to repozytorium Git o następującej strukturze

Struktura repozytorium Git

Następnie w Jenkins możesz utworzyć zadanie, które wywołałoby interfejs API REST Ranchera w celu wdrożenia / aktualizacji stosu / usługi.

wprowadź opis zdjęcia tutaj

Z kolei Rancher pobierze najnowszą wersję obrazu Docker dla tej usługi i wdroży go zgodnie z plikiem Docker Compose z katalogu.

wprowadź opis zdjęcia tutaj

Plusy:

  • ogólne podejście, które można zastosować w prawie każdej aplikacji
  • Sam Jenkins może zostać wdrożony w środowisku Rancher, agenty mogą zostać utworzone w klastrze Kubernetes

Cons:

  • zespół programistów powinien stosować solidną strategię wydania, aby móc korzystać z kompilacji ogólnych
  • sterowniki pamięci masowej są nadal przedmiotem pytania w wersji alfa Rancher 2.0

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.