View a markdown version of this page

Arbeiten mit Argo CD - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Argo CD

Mit Argo CD definieren Sie Anwendungen in Git-Repositorys und Argo CD synchronisiert sie automatisch mit Ihren Kubernetes-Clustern. Dies ermöglicht die deklarative, versionskontrollierte Anwendungsbereitstellung mit automatisierter Drift-Erkennung.

Voraussetzungen

Bevor Sie mit Argo CD arbeiten können, benötigen Sie:

  • Ein EKS-Cluster mit der Argo-CD-Funktion wurde erstellt (siehe) Erstellen einer Argo CD-Funktion

  • Ein Git-Repository, das Kubernetes-Manifeste enthält

  • kubectlkonfiguriert für die Kommunikation mit Ihrem Cluster

Allgemeine Aufgaben

Die folgenden Themen führen Sie durch allgemeine Argo-CD-Aufgaben:

Repository-Zugriff konfigurieren- Konfigurieren Sie Argo CD so, dass es mit AWS Secrets Manager oder Kubernetes Secrets auf Ihre Git-Repositorys AWS CodeConnections zugreift.

Zielcluster registrieren- Registrieren Sie Zielcluster, auf denen Argo CD Anwendungen bereitstellen wird.

Zusammenarbeit mit Argo CD Projects- Organisieren Sie Anwendungen und setzen Sie Sicherheitsgrenzen mithilfe von Projekten für Umgebungen mit mehreren Mandanten durch.

Argo CD-Einstellungen konfigurieren- Konfigurieren Sie das Verhalten der Argo-CD mithilfe von argocd-cm ConfigMap, einschließlich benutzerdefinierter Zustandsprüfungen für benutzerdefinierte Ressourcen.

Anwendungen erstellen- Erstellen Sie Anwendungen, die mithilfe von Git-Repositorys mit automatisierten oder manuellen Synchronisierungsrichtlinien bereitgestellt werden.

Benutzen ApplicationSets- Wird verwendet ApplicationSets , um Anwendungen mithilfe von Vorlagen und Generatoren in mehreren Umgebungen oder Clustern bereitzustellen.

Greifen Sie auf die Argo CD-Benutzeroberfläche zu

Greifen Sie über die EKS-Konsole auf die Argo-CD-Benutzeroberfläche zu:

  1. Öffnen Sie die Amazon EKS-Konsole

  2. Wählen Sie Ihren Cluster aus

  3. Wählen Sie die Registerkarte „Funktionen“

  4. Wählen Sie Argo CD

  5. Wählen Sie Open Argo CD UI

Die Benutzeroberfläche bietet visuelle Anwendungstopologie, Synchronisierungsstatus und -verlauf, Ressourcenstatus und Ereignisse, manuelle Synchronisierungssteuerungen und Anwendungsmanagement.

URL des Argo-CD-Endpunkts

Wenn Sie eine Argo-CD-Funktion erstellen, erhalten Sie einen eindeutigen Endpunkt sowohl für die Argo-CD-Benutzeroberfläche als auch für die API. Der Endpunkt-Hostname ist deterministisch: Er verwendet Werte, die Sie bereits kennen, wie z. B. Ihren Capability-Namen, Clusternamen, AWS Konto-ID und Region. AWS Wenn Sie eine Fähigkeit löschen und sie mit demselben Clusternamen und Capability-Namen neu erstellen, erhalten Sie denselben Endpunkt. Da der Hostname vorhersehbar ist, können Sie ihn im Voraus erstellen. Sie können beispielsweise DNS-, Automatisierungs- oder Git-Webhook-Integrationen vorkonfigurieren, bevor die Bereitstellung der Funktion abgeschlossen ist. Für jede Funktion describe-capability ist der serverUrl Wert von der endgültige Endpunkt.

Anmerkung

Da der Endpunkt wiederverwendet wird, stellen Integrationen, die auf die vorherige Funktion — Git-Webhooks, Tokens und DNS-Einträge — verwiesen, automatisch eine Verbindung zur neuen Funktion her, ohne dass darauf hingewiesen wird, dass sich die Instanz geändert hat. Nachdem Sie eine Funktion neu erstellt haben, überprüfen Sie diese Integrationen erneut und rotieren Sie alle Webhook-Secrets oder -Tokens, die mit der vorherigen Instanz geteilt wurden.

Rufen Sie den Endpunkt ab

Um den genauen Endpunkt für eine Fähigkeit abzurufen, verwenden Sie den describe-capability Befehl und lesen Sie den serverUrl Wert. Ersetzen Sie region-codemy-cluster, und my-argocd durch Ihre Werte:

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --query 'capability.configuration.argoCd.serverUrl' \ --output text
Anmerkung

Das serverUrl Feld und die DNS-Einträge des Endpunkts sind verfügbar, nachdem sich der Funktionsstatus auf geändert hatACTIVE.

Endpunkt-Format

Der Argo CD-Endpunkt verwendet das folgende Format:

https://capability-name-hash-account-id.eks-capabilities.region-code.amazonaws.com

Der Hostname besteht aus den folgenden Komponenten:

  • capability-name— Der Name Ihrer Argo-CD-Funktion, normalisiert auf Kleinbuchstaben, wobei jeder Unterstrich () durch einen Bindestrich (_) ersetzt wird. - Wenn der normalisierte Name länger als 41 Zeichen ist, wird er auf 41 Zeichen gekürzt.

  • hash— Ein 8-stelliger Hexadezimalwert, der den Hostnamen eindeutig macht. Es sind die ersten 8 Zeichen des SHA-256 Hashs Ihres Capability- und Clusternamens. Die Namen werden durch einen Schrägstrich ( capability-name/cluster-name ) verbunden. Verwenden Sie exakt die Namen, die Sie bei der Erstellung der Funktion angegeben haben. Dieser Wert bietet nur Eindeutigkeit und ist keine Sicherheitskontrolle.

  • account-id— Ihre 12-stellige AWS Konto-ID.

  • eks-capabilities.region-code.amazonaws.com— Die EKS Capabilities-Servicedomäne für Ihre AWS Region.

Beispielsweise hat eine Funktion, die my-argocd auf dem Cluster my-cluster im Konto 111122223333 in der us-west-2 Region benannt ist, einen Endpunkt, der dem folgenden ähnelt:

https://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com

Der Hostname verwendet den normalisierten Funktionsnamen, aber der Hash verwendet den von Ihnen angegebenen Rohnamen. Zum Beispiel my-cluster normalisiert sich die Fähigkeit Payments_GitOps auf dem Cluster auf den Hostnamen, und ihr Hash stammt aus der Rohzeichenfolge: payments-gitops Payments_GitOps/my-cluster

https://payments-gitops-4ce0b382-111122223333.eks-capabilities.us-west-2.amazonaws.com
Anmerkung

Bestätigen Sie anhand der describe-capability Ausgabe den genauen Endpunkt für Ihre AWS Region.

Sie können die hash Komponente selbst berechnen. Verwenden Sie es sha256sum unter Linux oder shasum -a 256 unter macOS. Die folgenden Befehle verwenden die Beispielfunktion my-argocd für Clustermy-cluster. Ersetzen Sie die exakten Namen, die Sie bei der Erstellung der Funktion angegeben haben:

# Linux printf '%s' "my-argocd/my-cluster" | sha256sum | cut -c1-8 # macOS printf '%s' "my-argocd/my-cluster" | shasum -a 256 | cut -c1-8

Beide Befehle kehren zurückdc855fdf.

Zugriff und Sicherheit auf Endpunkten

Der Endpunkt-Hostname ist kein Geheimnis, und wenn Sie ihn wissen, erhalten Sie keinen Zugriff auf Ihre Argo-CD-Instance. Der Hostname enthält dieselben nicht geheimen Informationen, die bereits in der Funktion Amazon Resource Name (ARN) enthalten sind. Die list-capabilities Operationen create-capabilitydescribe-capability, und geben diesen ARN zurück. AWS Die Identity Center-Authentifizierung und die rollenbasierte Zugriffskontrolle (RBAC) von Argo CD steuern den Zugriff auf die Benutzeroberfläche und API von Argo CD.

Wenn Sie den Zugriff auf private Endpunkte konfigurieren, wird der Hostname nur in private IP-Adressen aufgelöst, die Ihrem VPC-Endpunkt zugeordnet sind. Sie können nur von Ihrer VPC oder verbundenen Netzwerken aus auf den Endpunkt zugreifen. Weitere Informationen finden Sie unter Konfigurieren Sie den privaten Endpunktzugriff für Argo CD.

Upstream-Dokumentation

Für detaillierte Informationen zu den Funktionen von Argo CD: