GitLab macht Pull-basierte Kubernetes-Deployments kostenlos

Git-Hoster und CI/CD-Anbieter GitLab gibt eine Funktion für kostenlose Accounts frei, mit der Änderungen an einem Repo schneller in einem Cluster ankommen.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 4 Beiträge
Von
  • Jan Mahn

Die Funktion "Pull-based Kubernetes deployments" war bisher zahlenden GitLab-Kunden vorbehalten, die neue Softwareversionen in ihre Kubernetes-Cluster ausspielen wollen. Dabei läuft ein von GitLab bereitgestellter Agent im Cluster, der regelmäßig bei GitLab nachfragt, ob es Änderungen an der Konfiguration oder neue Versionen der Software gibt. Diese Funktion gibt GitLab in Kürze auch für Nutzer mit kostenlosem Account frei.

Der Pull-basierte Ansatz bringt zunächst einen Sicherheitsvorteil – in der CI/CD-Umgebung muss kein Token hinterlegt sein, das Rechte im Cluster hat. Die Cluster-Verwaltung (zum Beispiel das Kubernetes-API oder ein anderes System mit einem Webhook) muss auch nicht von außen erreichbar sein. Genau das ist bei einem Push-basierten Ansatz der Fall, bei dem am Ende der Pipeline das CI/CD-System das Cluster per HTTP-Aufruf über die Änderung informiert. Außerdem macht eine Pull-basierte Aktualisierung die Einrichtung vieler identischer Umgebungen (zum Beispiel für Kunden) einfacher, weil in der CI/CD nicht zig zu informierende Cluster eingetragen werden müssen.

Mit Rechten ausgestattet werden muss für GitLabs Funktion nur ein Service Account innerhalb des Clusters. Diesen nutzt der ebenfalls im Cluster laufende Agent, um die Änderungen abzufragen und Veränderungen am Cluster vorzunehmen (etwa Pods zu ersetzen oder neue Objekte anzulegen). Nutzer kleiner Container-Umgebungen mit Docker kennen das Prinzip von nützlichen Helfern wie Watchtower, die nach neuen Image-Versionen im Docker Hub Ausschau halten und Anwendungen selbstständig aktualisieren.

Wann genau die Pull-basierten Kubernetes-Deployments im kostenlosen Account ankommen, verriet GitLab in seiner Ankündigung auf der KubeCon 2022 noch nicht, die Rede ist von "an upcoming release".

(jam)