GitOps-basiertes CI/CD auf Kubernetes: Eine Anleitung

Die Automatisierung von Continuous Integration (CI) und Continuous Deployment (CD) auf Kubernetes mit einem GitOps-Ansatz bietet eine effiziente Möglichkeit, Anwendungen zu entwickeln, zu testen und bereitzustellen. In diesem Blogbeitrag werden wir die Verwendung von CircleCI für die kontinuierliche Integration und Argo CD für die kontinuierliche Bereitstellung auf einem Kubernetes-Cluster demonstrieren.

Schritt 1: Einrichtung von CircleCI

CircleCI ermöglicht die Automatisierung von Builds und Tests in Kubernetes. Durch die Konfiguration eines Workflow in einer YAML-Datei definieren wir die Schritte für CircleCI. Dies umfasst das Ausführen von Tests, das Erstellen von Docker-Images und das Pushen dieser Images in ein Container-Repository wie Docker Hub.

version: 2
jobs:
test:
docker:
– image: circleci/python:3.8
steps:
– checkout
– run: pytest

build:
docker:
– image: docker:19.03.12
steps:
– checkout
– setup_remote_docker
– run: docker build -t myapp:latest .

push:
docker:
– image: docker:19.03.12
steps:
– setup_remote_docker
– run: echo “$DOCKER_PASSWORD” | docker login -u “$DOCKER_USERNAME” –password-stdin
– run: docker push myapp:latest

workflows:
version: 2
build-deploy:
jobs:
– test
– build:
requires:
– test
– push:
requires:
– build

Schritt 2: Installation und Konfiguration von Argo CD

Argo CD verwaltet die kontinuierliche Bereitstellung auf Kubernetes. Nach der Installation verbinden wir Argo CD mit GitHub und konfigurieren die Anwendung für die Bereitstellung. Dies beinhaltet das Einrichten von Zugriffsrechten, das Hinzufügen von Clustern und das Konfigurieren von Anwendungen für die automatische Synchronisation.

# Installation von Argo CD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.1.4/manifests/install.yaml

# Verbindung mit GitHub
argocd login localhost:8080
argocd account update-password
argocd cluster add minikube

Schritt 3: Verknüpfung von Argo CD mit GitHub und manuelles Deploy

Argo CD synchronisiert Bereitstellungen mit einem GitHub-Repository. Durch die Verbindung mit GitHub und Konfiguration der Anwendung können wir die Bereitstellung automatisieren. Wir stellen auch die Möglichkeit vor, manuell eine Synchronisation der Anwendung mit dem Repository auszulösen. Dies bietet Flexibilität und Kontrolle über den Bereitstellungsprozess.

Schritt 4: Testen des Continuous Deployment Setups

Nachdem die Konfiguration abgeschlossen ist, testen wir das Continuous Deployment System, indem wir eine Änderung im Projekt vornehmen und einen neuen Build der Anwendung auslösen. Wir beobachten, wie Argo CD die Änderungen erkennt und automatisch die Anwendung auf dem Kubernetes-Cluster aktualisiert.

Fazit

Mit CircleCI für die kontinuierliche Integration und Argo CD für die kontinuierliche Bereitstellung haben wir ein leistungsstarkes Toolset für die Automatisierung von Kubernetes-Workflows. Durch die Verwendung eines GitOps-Ansatzes organisieren wir unsere CI/CD-Prozesse um Git herum, was eine effiziente und konsistente Entwicklung ermöglicht.

Mit diesem Tutorial haben Sie eine grundlegende Pipeline für die Entwicklung, Tests und Bereitstellung von Anwendungen auf Kubernetes erstellt. Sie können diese Tools verwenden, um Ihr eigenes GitOps CI/CD-System zu entwickeln und weiter anzupassen. Für weitere Informationen über Git und DevOps-Tools empfehlen wir unsere anderen Tutorials und Ressourcen. GitOps-basiertes CI/CD auf Kubernetes: Eine Anleitung

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

VeraCrypt unter Ubuntu 24.04 installieren & nutzen

Security, Tutorial
VeraCrypt unter Ubuntu 24.04 installieren – Schritt-für-Schritt-Anleitung VeraCrypt ist eine kostenlose Open-Source-Verschlüsselungslösung, mit der sich vertrauliche Daten wie Dateien, Ordner und ganze Laufwerke absichern lassen. Um diese leistungsstarke Sicherheitssoftware optimal…