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.
Überlegungen zu Argo CD
In diesem Thema werden wichtige Überlegungen zur Verwendung der EKS-Funktion für Argo CD behandelt, einschließlich Planung, Berechtigungen, Authentifizierung und Bereitstellungsmustern für mehrere Cluster.
Planung
Beachten Sie vor der Bereitstellung von Argo CD Folgendes:
Repository-Strategie: Legen Sie fest, wo Ihre Anwendungsmanifeste gespeichert werden (CodeCommit, GitHub GitLab, Bitbucket). Plane deine Repository-Struktur und Branching-Strategie für verschiedene Umgebungen.
RBAC-Strategie: Plane, welche Teams oder Benutzer Admin-, Redakteur- oder Zuschauerzugriff haben sollen. Ordnen Sie diese AWS Identity Center-Gruppen oder Argo-CD-Rollen zu.
Multi-cluster Architektur: Stellen Sie fest, ob Sie mehrere Cluster von einer einzigen Argo-CD-Instance aus verwalten möchten. Erwägen Sie die Verwendung eines dedizierten Management-Clusters für Argo CD.
Anwendungsorganisation: Planen Sie, wie Sie Anwendungen strukturieren werden und ApplicationSets. Erwägen Sie, Projekte zu verwenden, um Anwendungen nach Team oder Umgebung zu organisieren.
Synchronisierungsrichtlinien: Entscheiden Sie, ob Anwendungen automatisch synchronisiert werden sollen oder ob eine manuelle Genehmigung erforderlich ist. Automatisierte Synchronisation ist in der Entwicklung üblich, in der Produktion manuell.
Berechtigungen
Ausführliche Informationen zu IAM-Funktionsrollen, Vertrauensrichtlinien und bewährten Sicherheitsmethoden finden Sie unter IAM-Rolle für Amazon EKS-Funktionen undSicherheitsüberlegungen für EKS-Funktionen.
Überblick über die IAM-Funktionsrolle
Wenn Sie eine Argo-CD-Capability-Ressource erstellen, geben Sie eine IAM-Capability-Rolle an. Im Gegensatz zu ACK verwaltet Argo CD hauptsächlich Kubernetes-Ressourcen, nicht Ressourcen direkt. AWS Die IAM-Capability-Rolle ist jedoch erforderlich für:
-
Zugriff auf private Git-Repositorys in CodeCommit
-
Integration mit AWS Identity Center zur Authentifizierung
-
Zugreifen auf AWS Geheimnisse im Secrets Manager (falls konfiguriert)
-
Cross-cluster Bereitstellungen in anderen EKS-Clustern
CodeCommit Integration
Wenn Sie CodeCommit Repositorys verwenden, fügen Sie eine Richtlinie mit Leseberechtigungen hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "*" } ] }
Wichtig
Beschränken Sie das Resource Feld für den Einsatz in der Produktion auf bestimmte Repository-ARNs, anstatt es zu verwenden. "*"
Beispiel:
"Resource": "arn:aws:codecommit:us-west-2:111122223333:my-app-repo"
Dadurch wird der Zugriff der Argo-CD-Funktion nur auf die Repositorys beschränkt, die sie verwalten muss.
Integration von Secrets Manager
Wenn Sie Repository-Anmeldeinformationen in Secrets Manager speichern, fügen Sie die verwaltete Richtlinie für den Lesezugriff hinzu:
arn:aws:iam::aws:policy/AWSSecretsManagerClientReadOnlyAccess
Diese Richtlinie umfasst die erforderlichen Berechtigungen: secretsmanager:GetSecretValuesecretsmanager:DescribeSecret, und KMS-Entschlüsselungsberechtigungen.
Grundlegende Einrichtung
Für die grundlegende Argo-CD-Funktionalität mit öffentlichen Git-Repositorys sind außer der Vertrauensrichtlinie keine zusätzlichen IAM-Richtlinien erforderlich.
Authentifizierung
AWS Integration in das Identity Center
Die von Argo CD verwaltete Funktion lässt sich direkt in AWS Identity Center (ehemals AWS SSO) integrieren, sodass Sie Ihren vorhandenen Identitätsanbieter für die Authentifizierung verwenden können.
Wenn Sie die AWS Identity Center-Integration konfigurieren:
-
Benutzer greifen über die EKS-Konsole auf die Argo-CD-Benutzeroberfläche zu
-
Sie authentifizieren sich über das AWS Identity Center (das eine Verbindung zu Ihrem Unternehmensidentitätsanbieter herstellen kann)
-
AWS Identity Center stellt Benutzer- und Gruppeninformationen für Argo CD bereit
-
Argo CD ordnet Benutzern und Gruppen basierend auf Ihrer Konfiguration RBAC-Rollen zu
-
Benutzer sehen nur die Anwendungen und Ressourcen, auf die sie zugreifen dürfen
Vereinfachung des Zugriffs mit Identity Center-Berechtigungssätzen
AWS Identity Center bietet zwei verschiedene Authentifizierungspfade, wenn Sie mit Argo CD arbeiten:
Argo CD-API-Authentifizierung: Identity Center bietet SSO-Authentifizierung für die Argo CD-Benutzeroberfläche und -API. Dies wird über die RBAC-Rollenzuordnungen der Argo CD-Funktion konfiguriert.
EKS-Clusterzugriff: Die Argo-CD-Funktion verwendet die vom Kunden bereitgestellte IAM-Rolle, um sich über Zugriffseinträge bei EKS-Clustern zu authentifizieren. Diese Zugriffseinträge können manuell konfiguriert werden, um Berechtigungen hinzuzufügen oder zu entfernen.
Sie können Identity Center-Berechtigungssätze verwenden, um das Identitätsmanagement zu vereinfachen, indem Sie einer einzelnen Identität den Zugriff auf Argo CD- und EKS-Cluster ermöglichen. Dies reduziert den Aufwand, da Sie nur eine Identität auf beiden Systemen verwalten müssen, anstatt separate Anmeldeinformationen für den Argo-CD-Zugriff und den Cluster-Zugriff zu verwalten.
RBAC-Rollenzuordnungen
Argo CD verfügt über integrierte Rollen, die Sie AWS Identity Center-Benutzern und -Gruppen zuordnen können:
ADMIN: Voller Zugriff auf alle Anwendungen und Einstellungen. Kann Anwendungen erstellen, aktualisieren und löschen. Kann die Argo-CD-Konfiguration verwalten.
EDITOR: Kann Anwendungen erstellen und ändern. Die Argo-CD-Einstellungen können nicht geändert oder Anwendungen gelöscht werden.
VIEWER: Read-only Zugriff auf Anwendungen. Kann den Status und den Verlauf der Bewerbung einsehen. Es können keine Änderungen vorgenommen werden.
Anmerkung
Bei Rollennamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen in Großbuchstaben geschrieben werden (ADMIN, EDITOR, VIEWER).
Wichtig
Die Integration von EKS Capabilities in AWS Identity Center unterstützt bis zu 1.000 Identitäten pro Argo-CD-Funktion. Eine Identität kann ein Benutzer oder eine Gruppe sein.
Multi-cluster Bereitstellungen
Die von Argo CD verwaltete Funktion unterstützt Multi-Cluster-Bereitstellungen, sodass Sie Anwendungen in Entwicklungs-, Staging- und Produktionsclustern von einer einzigen Argo-CD-Instance aus verwalten können.
So funktioniert Multi-Cluster
Wenn Sie zusätzliche Cluster bei Argo CD registrieren:
-
Sie erstellen Cluster-Secrets, die per ARN auf EKS-Zielcluster verweisen
-
Sie erstellen Anwendungen oder ApplicationSets die auf verschiedene Cluster abzielen
-
Argo CD stellt eine Verbindung zu jedem Cluster her, um Ressourcen bereitzustellen und zu überwachen
-
Sie können alle Cluster von einer einzigen Argo CD-Benutzeroberfläche aus anzeigen und verwalten
Voraussetzungen für Multi-Cluster
Bevor Sie zusätzliche Cluster registrieren:
-
Erstellen Sie einen Access-Eintrag auf dem Zielcluster für die Argo-CD-Capability-Rolle
-
Stellen Sie die Netzwerkkonnektivität zwischen der Argo-CD-Funktion und den Zielclustern sicher
-
Überprüfen Sie die IAM-Berechtigungen für den Zugriff auf die Zielcluster
Registrieren Sie einen Cluster
Registrieren Sie Cluster mithilfe von Kubernetes Secrets im argocd Namespace.
Ruft den ARN des Zielclusters ab. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Zielcluster befindet, und target-cluster ersetzen Sie es durch den Namen Ihres Zielclusters.
aws eks describe-cluster \ --regionregion-code\ --nametarget-cluster\ --query 'cluster.arn' \ --output text
Erstellen Sie ein Cluster-Geheimnis mithilfe des Cluster-ARN:
apiVersion: v1 kind: Secret metadata: name: target-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster type: Opaque stringData: name: target-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/target-cluster project: default
Wichtig
Verwenden Sie den EKS-Cluster-ARN im server Feld, nicht die Kubernetes-API-Server-URL. Für die verwaltete Funktion sind ARNs erforderlich, um Zielcluster zu identifizieren.
Wenden Sie das Geheimnis an:
kubectl apply -f cluster-secret.yaml
Konfigurieren Sie den Zugriffseintrag auf dem Zielcluster
Der Zielcluster muss über einen Access-Eintrag verfügen, der der Argo-CD-Funktionsrolle die Berechtigung zur Bereitstellung von Anwendungen erteilt. region-codeErsetzen Sie durch die AWS Region, in der sich Ihr Zielcluster befindet, durch target-cluster den Namen Ihres Zielclusters und ersetzen Sie den ARN durch den ARN Ihrer Argo-CD-Funktionsrolle.
aws eks create-access-entry \ --regionregion-code\ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/ArgoCDCapabilityRole\ --type STANDARD \ --kubernetes-groups system:masters
Anmerkung
Für den Produktionseinsatz sollten Sie erwägen, stattdessen restriktivere Kubernetes-Gruppen zu verwenden. system:masters
Zugriff auf private Cluster
Die von Argo CD verwaltete Funktion kann auf vollständig privaten EKS-Clustern bereitgestellt werden, ohne dass VPC-Peering oder eine spezielle Netzwerkkonfiguration erforderlich sind. AWS verwaltet die Konnektivität zwischen der Argo CD-Funktion und privaten Remote-Clustern automatisch. Stellen Sie sicher, dass Ihre Repository-Zugriffskontrollen und die Argo CD RBAC-Richtlinien ordnungsgemäß konfiguriert sind.
Cross-account Bereitstellungen
Für kontoübergreifende Bereitstellungen fügen Sie die Argo CD IAM Capability Role aus dem Quellkonto zum EKS Access Entry des Zielclusters hinzu:
-
Erstellen Sie im Zielkonto einen Access-Eintrag auf dem EKS-Ziel-Cluster
-
Verwenden Sie den Argo CD IAM Capability Role ARN aus dem Quellkonto als Principal
-
Konfigurieren Sie die entsprechenden Kubernetes-RBAC-Berechtigungen für den Access-Eintrag
-
Registrieren Sie den Zielcluster in Argo CD mithilfe seines EKS-Cluster-ARN
Es ist keine zusätzliche IAM-Rollenerstellung oder Konfiguration von Vertrauensrichtlinien erforderlich — EKS Access Entries übernehmen den kontoübergreifenden Zugriff.
Bewährte Methoden
Verwenden Sie deklarative Quellen als Informationsquelle: Speichern Sie alle Ihre Anwendungsmanifeste in deklarativen Quellen (Git-Repositorys, Helm-Registries oder OCI-Images), um Versionskontrolle, Audit-Trails und Zusammenarbeit zu ermöglichen.
Implementieren Sie das richtige RBAC: Verwenden Sie die AWS Identity Center-Integration, um zu kontrollieren, wer auf Anwendungen in Argo CD zugreifen und diese verwalten kann. Argo CD unterstützt eine feinkörnige Zugriffskontrolle auf Ressourcen innerhalb von Anwendungen (Deployments, Pods, Secrets). ConfigMaps
Verwendung ApplicationSets für Bereitstellungen in mehreren Umgebungen: Wird verwendet, ApplicationSets um Anwendungen in mehreren Clustern oder Namespaces mit unterschiedlichen Konfigurationen bereitzustellen.
Lebenszyklusmanagement
Richtlinien zur Anwendungssynchronisierung
Steuern Sie, wie Argo CD Anwendungen synchronisiert:
Manuelle Synchronisierung: Anwendungen benötigen eine manuelle Genehmigung, um Änderungen zu synchronisieren. Für Produktionsumgebungen empfohlen.
Automatische Synchronisierung: Anwendungen werden automatisch synchronisiert, wenn Git-Änderungen erkannt werden. Häufig in Entwicklungs- und Staging-Umgebungen.
Self-healing: Macht manuelle Änderungen am Cluster automatisch rückgängig. Stellt sicher, dass der Cluster-Status mit Git übereinstimmt.
Bereinigung: Automatisches Löschen von Ressourcen, die aus Git entfernt wurden. Verwende es mit Vorsicht, da dadurch Ressourcen gelöscht werden können.
Zustand der Anwendung
Argo CD überwacht kontinuierlich den Zustand der Anwendung:
-
Gesund: Alle Ressourcen laufen wie erwartet
-
Fortschritte: Ressourcen werden erstellt oder aktualisiert
-
Herabgesetzt: Einige Ressourcen sind nicht funktionsfähig
-
Gesperrt: Die Anwendung wurde angehalten
-
Fehlt: Ressourcen im Cluster fehlen
Fenster synchronisieren
Konfigurieren Sie Synchronisierungsfenster, um zu steuern, wann Anwendungen synchronisiert werden können:
-
Synchronisierungen nur während Wartungsfenstern zulassen
-
Blockieren Sie Synchronisierungen während der Geschäftszeiten
-
Planen Sie automatische Synchronisierungen für bestimmte Zeiten
-
Verwenden Sie Synchronisierungsfenster in Situationen, in denen Sie Änderungen vornehmen und alle Synchronisierungen beenden müssen (Break-Glass-Szenarien)
Webhook-Konfiguration für schnellere Synchronisation
Standardmäßig fragt Argo CD alle 6 Minuten Git-Repositorys ab, um Änderungen zu erkennen. Für reaktionsschnellere Bereitstellungen konfiguriere Git-Webhooks so, dass sofortige Synchronisationen ausgelöst werden, wenn Änderungen übertragen werden.
Webhooks bieten mehrere Vorteile:
-
Sofortige Synchronisationsreaktion, wenn Code übertragen wird (Sekunden statt Minuten)
-
Reduzierter Aufwand für Abfragen und verbesserte Systemleistung
-
Effizientere Nutzung der API-Ratenlimits
-
Bessere Benutzererfahrung mit schnellerem Feedback
Webhook-Endpunkt
Die Webhook-URL folgt dem Muster${serverUrl}/api/webhook, wo serverUrl ist Ihre Argo-CD-Server-URL. Informationen zur Suche nach Ihrer Server-URL finden Sie unter. URL des Argo-CD-Endpunkts
Wenn Ihre Argo-CD-Server-URL beispielsweise lautethttps://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com, lautet die Webhook-URL:
https://my-argocd-dc855fdf-111122223333.eks-capabilities.us-west-2.amazonaws.com/api/webhook
Konfigurieren Sie Webhooks nach Git-Anbieter
GitHub: Fügen Sie in Ihren Repository-Einstellungen einen Webhook mit der Argo-CD-Webhook-URL hinzu. Stellen Sie den Inhaltstyp auf application/json und wählen Sie „Nur das Push-Event“.
GitLab: Fügen Sie in Ihren Projekteinstellungen einen Webhook mit der Argo-CD-Webhook-URL hinzu. Aktiviere „Push-Ereignisse“ und optional „Push-Ereignisse taggen“.
Bitbucket: Füge in deinen Repository-Einstellungen einen Webhook mit der Argo-CD-Webhook-URL hinzu. Wähle „Repository Push“ als Auslöser aus.
CodeCommit: Erstellen Sie eine EventBridge Amazon-Regel, die bei Änderungen des CodeCommit Repository-Status ausgelöst wird und Benachrichtigungen an den Argo-CD-Webhook-Endpunkt sendet.
Eine ausführliche Anleitung zur Webhook-Konfiguration finden Sie unter Argo CD Webhook-Konfiguration.
Anmerkung
Webhooks ergänzen das Polling — sie ersetzen es nicht. Argo CD fragt weiterhin Repositorys als Fallback-Mechanismus ab, falls Webhook-Benachrichtigungen verpasst werden.
Nächste Schritte
-
Arbeiten mit Argo CD- Erfahren Sie, wie Sie Argo CD-Anwendungen erstellen und verwalten
-
Beheben Sie Probleme mit den Funktionen von Argo CD- Beheben Sie Probleme mit Argo CD
-
Arbeiten mit Kapazitätsressourcen- Verwalten Sie Ihre Argo-CD-Funktionsressource