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ą.

Greg
źródło

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
Maksim
źródło
-2

Terraform z dostawcą Kubernetes.

Jurij Miedwiediew
źródło
1
Cześć. Można nieco rozszerzyć odpowiedź o szczegóły, jak to zrobić lub o przydatne linki?
Dawny33