Wie automatisiere ich Bereitstellungen mit Kubernetes?

12

Angenommen, ich habe Kubernetes über Rancher bereitgestellt und Jenkins erstellt neue Images und schiebt sie nach dem Einchecken von neuem Code in GitHub zu DockerHub. Wie automatisiere ich das Bereitstellen neuer Images?

Eine andere Möglichkeit, die Frage zu stellen, könnte sein: „Früher habe ich Octopus zum Verwalten meiner Bereitstellungen verwendet. Gibt es etwas Ähnliches wie Kubernetes oder Rancher? “Letztendlich ist es diese letzte Lücke, mit der ich zu kämpfen habe.

Greg
quelle

Antworten:

4

Wenn Sie Rancher verwenden, ist es am einfachsten, einen benutzerdefinierten Rancher-Katalog zu registrieren und für jeden Stack / Service, den Sie bereitstellen möchten, ein Element zu erstellen.

Benutzerdefinierten Katalog hinzufügen

Rancher Catalog ist ein Git-Repository mit der folgenden Struktur

Git-Repository-Struktur

Dann können Sie in Jenkins einen Job erstellen, der die Rancher-REST-API aufruft, um den Stack / Service bereitzustellen / zu aktualisieren.

Bildbeschreibung hier eingeben

Im Gegenzug ruft Rancher die neueste Version des Docker-Images für diesen Dienst ab und stellt sie entsprechend der Docker-Compose-Datei aus dem Katalog bereit.

Bildbeschreibung hier eingeben

Vorteile:

  • allgemeiner Ansatz, der für fast jede App verwendet werden kann
  • Jenkins selbst wird möglicherweise in der Rancher-Umgebung bereitgestellt, Agenten werden möglicherweise im Kubernetes-Cluster erstellt

Nachteile:

  • Das Entwicklungsteam sollte eine solide Release-Strategie verfolgen, um generische Builds verwenden zu können
  • Speichertreiber sind in der Alpha-Version von Rancher 2.0 immer noch in Frage
Maksim
quelle
-2

Terraform mit Kubernetes-Anbieter.

Yuriy Medvedev
quelle
1
Hallo. Ist es möglich, die Antwort ein wenig mit Details zu erweitern, wie man dasselbe macht, oder mit hilfreichen Links?
Dawny33