Zurück zum Blog

Bereitstellung von Anwendungen auf Kubernetes mit Argo CD und GitOps

Bereitstellung von Anwendungen auf Kubernetes mit Argo CD und GitOps

Einführung

Kubernetes ist zu einem Standard für die Bereitstellung großer Anwendungen geworden. Es hilft Entwicklern, erhebliche Vorteile zu erzielen, und bietet Funktionen, die beim herkömmlichen Server-Hosting nicht verfügbar sind. Kubernetes ermöglicht eine horizontale Skalierung ohne den Aufwand für die Infrastruktur. Darüber hinaus senkt es die Kosten für die Anschaffung und Wartung der Infrastruktur, wenn die Anwendung wächst.

Die Verwaltung von Anwendungen auf Kubernetes kann jedoch auch komplex sein und erfordert fortgeschrittene Kenntnisse. Die Bereitstellung von Anwendungen unter Verwendung von Kubernetes und dem Continuous Integration und Continuous Deployment-Prozess (CI/CD) hilft bei der Bewältigung dieses komplexen Prozesses, indem er eine Abstraktion bietet. GitOps ist eines der Tools, die dabei helfen können, diese Abstraktion zu erreichen.

In diesem Tutorial zeigen wir, wie Sie Argo CD verwenden, um Anwendungen kontinuierlich auf Kubernetes zu integrieren und bereitzustellen. Wann immer eine Änderung in das Repository gepusht wird, wird sie auf dem Ziel-Cluster bereitgestellt. Argo CD bietet außerdem Versionskontrolle, Konfigurationen und Anwendungsumgebungen durch die Integration in den gesamten Softwareentwicklungslebenszyklus. Wenn Sie Paketmanager für Kubernetes wie Helm verwenden oder wenn Ihr Repository auf BitBucket oder GitLab gehostet wird, kann Argo CD sich ebenfalls nahtlos in all diese Plattformen integrieren.

Voraussetzungen

Um dieses Tutorial abzuschließen, müssen Sie Folgendes haben:

Schritt 1 – Argo CD installieren

Bevor wir Argo CD installieren können, benötigen wir eine laufende Kubernetes-Umgebung mit kubectl. Sie können dies testen, indem Sie den folgenden Befehl ausführen:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

Sie sollten mindestens einen Kubernetes-Knoten sehen, der im Status Ready ausgeführt wird. Wenn kein Knoten verfügbar ist, sollten Sie Ihre Kubernetes-Installation überprüfen. Als Nächstes erstellen wir einen separaten Namespace für unsere Kubernetes-Installation. Nennen wir ihn argocd. Wir werden die mit Argo CD verbundenen Dienste in diesem Namespace belassen:

Installieren Sie danach die Argo CD-Skripte in dem oben neu erstellten Namespace, indem Sie den folgenden Befehl ausführen:

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

Um den Status der Kubernetes-Pods zu überprüfen, führen Sie den folgenden Befehl aus:

Sie erhalten ein Ergebnis wie das folgende:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

Damit haben Sie die Installation von Argo CD erfolgreich abgeschlossen. Zum Beenden der watch-Benutzeroberfläche können Sie Strg + C drücken. Um auf die Dienste in diesem Kubernetes-Cluster zuzugreifen, müssen wir die Ports weiterleiten. Wie das geht, zeigen wir Ihnen im nächsten Schritt.

Schritt 2 – Ports weiterleiten, um auf Argo CD zuzugreifen

Kubernetes kann Ihre Anwendung auf jedem beliebigen Port bereitstellen. Daher ist es notwendig, die Ports der Kubernetes-Anwendung weiterzuleiten, um von der lokalen Maschine aus auf sie zuzugreifen. Argo CD stellt einen Dienst namens argocd-server, der den Port 443 verwendet. Port 443 ist der Standardport für die HTTPS- und HTTP-Dienste. Sie können die Kubernetes-Ports an einen Port Ihrer Wahl weiterleiten. In unserem folgenden Beispiel haben wir den Port an 8080 weitergeleitet. Um Ports weiterzuleiten, führen Sie den folgenden Befehl im Terminal aus:

Sobald Sie den Port weiterleiten, wird er blockiert, sodass andere Dienste nicht darauf zugreifen können. Um einen unterbrechungsfreien Zugriff zu gewährleisten, wird immer empfohlen, den oben genannten Befehl in einem neuen Terminal auszuführen. Wenn Sie fertig sind, können Sie Strg+C drücken, um die Portweiterleitung zu beenden.

Nachdem Sie den Port weitergeleitet haben, können Sie zu Argo CD navigieren, indem Sie localhost:8080 aufrufen. Sie werden nach den Anmeldedaten gefragt, die Sie im nächsten Schritt über die Befehlszeile abrufen können.

Schritt 3 – Argo CD über die Befehlszeile verwalten

Wir müssen die Argo CD-Befehlszeile installieren, um die Argo CD-Installation zu verwalten. Der empfohlene Weg zur Installation von Argo CD ist die Verwendung eines Paketmanagers wie Homebrew. Homebrew ist ein beliebtes Paketmanager-Tool für die Installation unter macOS und Linux. Sie können Homebrew mit dem folgenden Befehl installieren:

Sie sollten brew auf Ihrem Rechner installiert haben. Möglicherweise werden Sie zur Eingabe eines Passworts aufgefordert. Sie können es ausführen, indem Sie den folgenden Befehl ausführen:

Sie erhalten den Befehl argocd nach der obigen Installation. Wir müssen das Admin-Passwort mit dem Befehl kubectl abrufen. Es wurde während der Installation automatisch generiert. Unten finden Sie den Befehl, um es abzurufen:

Nachdem Sie Argo CD installiert haben, können Sie sich mit dem unten stehenden Befehl argocd login anmelden:

Sie müssen sich anmelden, um die Anwendung über die Befehlszeile bereitzustellen:

Applications

Möglicherweise erhalten Sie eine Sicherheitswarnung. Wenn ja, drücken Sie y , um fortzufahren. Viele Benutzer möchten das Passwort nach der Anmeldung ändern. Wenn dies der Fall ist, führen Sie den Befehl argocd account update-password aus, um das Passwort zu ändern. Wir haben nun eine voll funktionsfähige Argo CD-Konfiguration.

Schließlich werden wir eine Anwendung auf dem Kubernetes-Cluster unter Verwendung des installierten Argo CD bereitstellen.

Schritt 4 – Mehrere Cluster nutzen

Bevor Sie mit der Einrichtung Ihrer Anwendung fortfahren, müssen Sie die Zielmaschine kennen, auf der Sie sie bereitstellen möchten. In vielen Szenarien können Argo CD und die bereitgestellte Anwendung auf demselben Cluster ausgeführt werden. Dies ist das Standardverhalten von Argo CD, aber das ist keine Einschränkung. Wenn Sie die Anwendung auf anderen Zielmaschinen bereitstellen möchten, führen Sie zuerst kubectl config auf Ihrem Rechner aus:

Angenommen, Sie erhalten zwei Cluster: test-deploy-cluster und test-target-cluster. Wenn sich nun auf dem test-deploy-cluster Ihr Argo CD befindet und Sie auf dem bereitstellen möchten,test-target-cluster, dann führen Sie den folgenden Befehl aus:

Der obige Befehl fügt Argo CD die Details des zusätzlichen Clusters hinzu. Er ermöglicht auch die Bereitstellung von Diensten auf dem Argo CD-Zielcluster.

Schritt 5 – Eine Beispielanwendung bereitstellen

Es ist endlich an der Zeit, Anwendungen auf dem Kubernetes-Cluster bereitzustellen. Wir werden die von Argo CD bereitgestellten Beispielanwendungen verwenden. Wir werden auch das helm-guestbook nutzen, das mit Helm-Charts erstellt wurde.

Um die Anwendung zu installieren, verwenden wir den Befehl argo app create . Wir geben das Git-Repository, helm-guestbook an und übergeben Ihr Standardziel und Ihren Namespace:

Sie können den Status der neu erstellten App überprüfen, indem Sie folgenden Befehl ausführen: argocd app get:

Wundern Sie sich nicht, wenn Sie OutOfSync-Status sehen. Bis jetzt haben wir das Helm-Chart heruntergeladen und einen Einstiegspunkt dafür für Argo CD erstellt. Auf der Kubernetes-Seite ist ihm jedoch keine Ressource zugewiesen. Um synchronisieren dieser Anwendung, führen Sie den folgenden Befehl aus:

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

Bei der Arbeit mit GitOps ist es immer erforderlich, die Anwendung mit dem Upstream zu synchronisieren. Daher stellt Argo CD die Anwendung bereit, wann immer eine Änderung im Repository auftritt.

Wir haben die Anwendung über die Argo CD-Befehlszeile bereitgestellt. Sie können dasselbe Ergebnis über die Argo CD-Weboberfläche erzielen. Die Weboberfläche ist sehr hilfreich, wenn Sie den Status und die Ausführung der Anwendung überprüfen möchten. Um die Weboberfläche zu öffnen, öffnen Sie localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

Um die Installation zu überprüfen, öffnen wir die Anwendung im Browser. Unser helm-guestbook läuft auf Port 80. Wenn Sie eine andere Anwendung haben, die den Port verwendet,80, können Sie den Port weiterleiten, damit andere Anwendungen nicht unterbrochen werden:

Öffnen Sie schließlich die URL localhost:9090 in Ihrem Webbrowser, um Ihre laufende Anwendung zu sehen:

 Guestbook UI

Wenn nun ein Entwickler Code in das Remote-GitHub-Repository pusht, wird ArgoCD dies erfassen und widerspiegeln. Ihre ArgoCD-Deployments würden entsprechend aktualisiert, was eine kontinuierliche Verfügbarkeit gewährleistet.

Fazit

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie Anwendungen mit Argo CD auf Kubernetes installieren und bereitstellen. Es ist wichtig sicherzustellen, dass Ihre Bereitstellungen auf Kubernetes wartbar sind. GitOps könnte Ihnen in dieser Hinsicht sehr helfen.

Kubernetes ist mittlerweile der Standard für Bereitstellungen in der Cloud. CloudSigma bietet einige hervorragende Tutorials zu Kubernetes an, die Sie sich als Nächstes ansehen können:

Viel Spaß beim Computing!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.