Bereitstellen von Anwendungen in Kubernetes mit Argo CD für Anfänger

Das Bereitstellen von Anwendungen in Kubernetes kann komplex sein, insbesondere für Neulinge. Argo CD ist ein GitOps-gesteuertes, deklaratives Tool, das entwickelt wurde, um Kubernetes-Anwendungsbereitstellungen zu automatisieren. In diesem Workshop lernen Sie, wie Sie Argo CD einrichten und nutzen, um Anwendungen nahtlos bereitzustellen, mit einem Schritt-für-Schritt-Leitfaden für komplette Anfänger.

Was Sie lernen werden

  • Installation und Konfiguration von Argo CD.
  • Bereitstellen von Anwendungen unter Verwendung von GitOps-Prinzipien.
  • Überwachung von Bereitstellungen und Fehlerbehebung.
  • Rollback und Verwalten von Anwendungsversionen.
  • Absichern von Argo CD für den Produktiveinsatz.

Warum Argo CD?

Argo CD vereinfacht das Anwendungsmanagement in Kubernetes, indem es Ihren Cluster kontinuierlich mit in Git-Repositories definierten Manifesten synchronisiert. Vorteile sind:

  • Deklaratives Management: Definieren Sie den gewünschten Clusterzustand in Git.
  • Continuous Delivery: Automatisieren Sie Bereitstellungen mit Echtzeitsynchronisierung.
  • Version Control: Rollback zu früheren Versionen mit Leichtigkeit.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Einen Kubernetes-Cluster (verwenden Sie Minikube, Kind oder einen verwalteten Dienst wie GKE, EKS, AKS).
  2. kubectl installiert und konfiguriert, um eine Verbindung zu Ihrem Cluster herzustellen.
  3. Ein GitHub- oder GitLab-Konto zum Hosten Ihrer Kubernetes-Manifeste.
  4. Grundlegende Vertrautheit mit der YAML-Syntax (wird in diesem Workshop behandelt, wenn Sie neu sind).

Schritt-für-Schritt-Anleitung

1. Einrichten eines Kubernetes-Clusters

Schritt 1: Minikube installieren

Wenn Sie keinen Cluster haben, verwenden Sie Minikube:

Shell

 

Schritt 2: Minikube starten

Führen Sie den Befehl minikube start nach der Installation von Minikube auf Ihrem System aus:

Shell

 

Schritt 3: Cluster überprüfen

Bestätigen Sie, dass der Cluster läuft:

Shell

 

2. Argo CD installieren

Schritt 1: Namespace erstellen

Argo CD läuft in seinem eigenen Namespace zur Isolierung:

Shell

 

Schritt 2: Argo CD installieren

Wenden Sie die offiziellen Manifeste an, um Argo CD zu installieren:

Shell

 

Schritt 3: Installation überprüfen

Überprüfen Sie die Argo CD-Pods:

Shell

 

3. Zugriff auf die Argo CD-Benutzeroberfläche

Schritt 1: Argo CD freigeben

Den argocd-server auf Ihren lokalen Computer freigeben:

Shell

 

Schritt 2: Admin-Anmeldeinformationen abrufen

Holen Sie das Standard-Admin-Passwort ab:

Shell

 

Schritt 3: Anmeldung bei der Benutzeroberfläche

  1. Öffnen Sie https://localhost:8080 in Ihrem Browser.
  2. Melden Sie sich an mit:
    • Benutzername: admin
    • Passwort: Im vorherigen Schritt abgerufen.

4. Verbindung von Argo CD mit Ihrem Git-Repository

Schritt 1: Ein Git-Repository vorbereiten

  1. Erstellen Sie ein Git-Repository (z.B. auf GitHub).
  2. Fügen Sie Ihre Kubernetes-Manifeste dem Repository hinzu. Verwenden Sie dieses Beispiels-deployment.yaml:
YAML

 

Schritt 2: Repository zu Argo CD hinzufügen

Vom UI aus:

  1. Navigieren Sie zu Einstellungen > Repositories.
  2. Fügen Sie die URL Ihres Git-Repository und die Authentifizierungsdetails hinzu (SSH oder HTTPS).

Oder verwenden Sie die Befehlszeile:

Shell

 

5. Bereitstellung Ihrer ersten Anwendung

Schritt 1: Eine Anwendung erstellen

In der Argo CD-Benutzeroberfläche:

  1. Klicken Sie auf Neue App.
    • App Name: nginx-app
    • Project: default
    • Repository URL: Ihre Git-Repo-URL
    • Path: Pfad zu deployment.yaml
    • Cluster URL: https://kubernetes.default.svc
    • Namespace: default

Step 2: Die Anwendung synchronisieren

Nachdem Sie die App erstellt haben:

  1. Klicken Sie in der Argo CD-Benutzeroberfläche auf Synchronisieren.
  2. Beobachten Sie, wie die App auf Ihrem Kubernetes-Cluster bereitgestellt wird.

6. Automatisierung von Bereitstellungen

Schritt 1: Auto-Sync aktivieren

Aktivieren Sie kontinuierliche Synchronisierung:

Shell

 

Schritt 2: Änderungen testen

  1. Ändern Sie die deployment.yaml in Git.
  2. Pushen Sie die Änderungen ins Repository.
  3. Argo CD erkennt die Änderungen und synchronisiert sie automatisch mit dem Cluster.

7. Überwachung und Fehlerbehebung

Schritt 1: Überwachen der Anwendungsintegrität

In der Benutzeroberfläche überprüfen:

  • Gesundheit: Zeigt an, ob die Anwendung wie erwartet läuft.
  • Sync-Status: Stellt sicher, dass der Clusterstatus mit Git übereinstimmt.

Schritt 2: Protokolle anzeigen

Wenn etwas schief geht:

Shell

 

Schritt 3: Änderungen rückgängig machen

Zurückkehren zu einem früheren Zustand:

Shell

 

8. Absicherung von Argo CD

Schritt 1: Standardadministratorpasswort ändern

Ändern Sie das Standardadministratorpasswort mit dem Befehl argocd account update-password:

Shell

 

Schritt 2: SSO integrieren

Für Produktionsumgebungen integrieren Sie sich mit Single Sign-On (SSO)-Lösungen wie GitHub oder LDAP.

Best Practices für GitOps

  1. Zweigstrategien: Verwenden Sie separate Branches für Entwicklung, Staging und Produktion.
  2. Code-Reviews: Erzwingen Sie Peer-Reviews für Manifeständerungen.
  3. Audit-Protokolle: Überprüfen Sie regelmäßig die Argo CD-Protokolle auf Konformität und Debugging.

Fazit

Argo CD bietet einen benutzerfreundlichen, aber leistungsstarken Weg zur Verwaltung von Kubernetes-Bereitstellungen unter Verwendung von GitOps-Prinzipien. Dieses Workshop vermittelt Ihnen die Fähigkeiten, Anwendungen effizient bereitzustellen, zu überwachen und zu verwalten. Durch die Einhaltung dieser Praktiken sind Sie auf dem besten Weg, Kubernetes Continuous Delivery zu beherrschen.

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd