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 auf, 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 Nutzung der EKS-Funktion für Argo CD behandelt, darunter Planung, Berechtigungen, Authentifizierung und Bereitstellungsmuster 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.
Authentifizierungsmethode: Entscheiden Sie, ob Sie AWS Identity Center für SSO verwenden oder Argo CD-Benutzer direkt verwalten möchten. SSO wird für Produktionsumgebungen empfohlen.
RBAC-Strategie: Planen Sie, welche Teams oder Benutzer Administrator-, Redakteur- oder Viewer-Zugriff 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.
Organisation der Anwendungen: Planen Sie, wie Sie Anwendungen strukturieren und ApplicationSets. Erwägen Sie die Verwendung von Projekten, 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, manuelle in der Produktion.
Berechtigungen
Ausführliche Informationen zu IAM-Fähigkeitsrollen, 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-Fähigkeitsrollen
Wenn Sie eine Argo-CD-Funktionsressource erstellen, geben Sie eine IAM-Fähigkeitsrolle an. Im Gegensatz zu ACK verwaltet Argo CD hauptsächlich Kubernetes-Ressourcen, nicht Ressourcen direkt. AWS Die IAM-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)
-
Clusterübergreifende Bereitstellungen auf 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 Produktionszwecke auf ein bestimmtes Repository, ARNs anstatt es zu verwenden"*".
Beispiel:
"Resource": "arn:aws:codecommit:us-west-2:111122223333:my-app-repo"
Dadurch wird der Zugriff von Argo CD nur auf die Repositorys beschränkt, die es verwalten muss.
Integration von Secrets Manager
Wenn Sie Repository-Anmeldeinformationen in Secrets Manager speichern, fügen Sie eine Richtlinie mit Leseberechtigungen hinzu:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:*:*:secret:argocd/*" } ] }
Grundlegende Einrichtung
Für die grundlegende Funktionalität von Argo CD mit öffentlichen Git-Repositorys sind außer der Vertrauensrichtlinie keine zusätzlichen IAM-Richtlinien erforderlich.
Authentifizierung
AWS Identity Center-Integration
Die verwaltete Funktion von Argo CD lässt sich direkt in AWS Identity Center (früher 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 Benutzeroberfläche von Argo CD zu
-
Sie authentifizieren sich mithilfe von AWS Identity Center (das eine Verbindung zu Ihrem Corporate Identity Provider herstellen kann)
-
AWS Identity Center stellt Benutzer- und Gruppeninformationen für Argo CD bereit
-
Argo CD ordnet Benutzer und Gruppen basierend auf Ihrer Konfiguration RBAC-Rollen zu
-
Benutzer sehen nur die Anwendungen und Ressourcen, für deren Zugriff sie berechtigt sind
Vereinfachung des Zugriffs mit Identity Center-Berechtigungssätzen
AWS Identity Center bietet bei der Arbeit mit Argo CD zwei unterschiedliche Authentifizierungspfade:
Argo CD API-Authentifizierung: Identity Center bietet SSO-Authentifizierung für die Benutzeroberfläche und API von Argo CD. 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 einzigen 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 Clusterzugriff 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: Schreibgeschützter 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.
Bereitstellungen mit mehreren Clustern
Die verwaltete Argo-CD-Funktion unterstützt Bereitstellungen mit mehreren Clustern, sodass Sie Anwendungen für Entwicklungs-, Staging- und Produktionscluster 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 Clustergeheimnisse, 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 Anwendungen bereitzustellen und Ressourcen 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 weitere 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.
Rufen Sie den Zielcluster-ARN ARN. 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 mit dem Cluster-ARN ein Cluster-Geheimnis:
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. Die verwaltete Funktion erfordert die Identifizierung ARNs von Zielclustern.
Wenden Sie das Geheimnis an:
kubectl apply -f cluster-secret.yaml
Access Entry auf dem Zielcluster konfigurieren
Der Zielcluster muss über einen Access-Eintrag verfügen, der der Argo-CD-Capability-Rolle die Berechtigung zur Bereitstellung von Anwendungen erteilt. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Zielcluster befindet, target-cluster ersetzen Sie es durch 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-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole\ --type STANDARD \ --kubernetes-groups system:masters
Anmerkung
Für den Einsatz in der Produktion sollten Sie erwägen, restriktivere Kubernetes-Gruppen anstelle von zu verwenden. system:masters
Privater Cluster-Zugriff
Die verwaltete Argo-CD-Funktion kann auf vollständig privaten EKS-Clustern bereitgestellt werden, ohne dass VPC-Peering oder eine spezielle Netzwerkkonfiguration erforderlich sind. AWS verwaltet automatisch die Konnektivität zwischen der Argo-CD-Funktion und privaten Remote-Clustern.
Kontenübergreifende Bereitstellungen
Für kontoübergreifende Bereitstellungen fügen Sie die Argo CD IAM Capability Role aus dem Quellkonto zum EKS-Zugriffseintrag des Zielclusters hinzu:
-
Erstellen Sie im Zielkonto einen Access-Eintrag auf dem EKS-Zielcluster
-
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 mit seinem EKS-Cluster-ARN
Es ist keine zusätzliche IAM-Rollenerstellung oder Konfiguration von Vertrauensrichtlinien erforderlich — EKS Access Entries kümmern sich um den kontoübergreifenden Zugriff.
Best Practices
Verwenden Sie deklarative Quellen als Informationsquelle: Speichern Sie alle Ihre Anwendungsmanifeste in Git-Repositorys, Helm-Registern oder OCI-Images, um Versionskontrolle, Audit-Trails und Zusammenarbeit zu ermöglichen.
Richtiges RBAC implementieren: 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 differenzierte 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 müssen manuell genehmigt werden, 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.
Selbstheilung: Manuelle Änderungen am Cluster werden automatisch rückgängig gemacht. Stellt sicher, dass der Clusterstatus mit Git übereinstimmt.
Bereinigen: Automatisches Löschen von Ressourcen, die aus Git entfernt wurden. Verwenden Sie dies mit Vorsicht, da dadurch Ressourcen gelöscht werden können.
Integrität der Anwendung
Argo CD überwacht kontinuierlich den Zustand der Anwendung:
-
Fehlerfrei: Alle Ressourcen laufen wie erwartet
-
Fortschritt: Ressourcen werden erstellt oder aktualisiert
-
Eingeschränkt: Einige Ressourcen sind nicht funktionsfähig
-
Ausgesetzt: Die Anwendung wurde angehalten
-
Fehlt: Ressourcen fehlen im Cluster
Synchronisieren Sie Fenster
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 für außergewöhnliche Szenarien, in denen Sie alle Synchronisierungen vorübergehend beenden müssen
Webhook-Konfiguration für eine schnellere Synchronisierung
Standardmäßig fragt Argo CD alle 6 Minuten Git-Repositorys ab, um Änderungen zu erkennen. Für reaktionsschnellere Bereitstellungen konfigurieren Sie Git-Webhooks so, dass sie sofortige Synchronisierungen auslösen, wenn Änderungen übertragen werden.
Webhooks bieten mehrere Vorteile:
-
Sofortige Synchronisierungsreaktion, wenn Code übertragen wird (Sekunden statt Minuten)
-
Reduzierter Mehraufwand für Abfragen und verbesserte Systemleistung
-
Effizientere Nutzung von API-Ratenbegrenzungen
-
Bessere Benutzererfahrung mit schnellerem Feedback
Webhook-Endpunkt
Die Argo-CD-Funktion bietet einen Webhook-Endpunkt für den Empfang von Git-Benachrichtigungen. Suchen Sie die Webhook-URL in der EKS-Konsole auf der Registerkarte Capabilities Ihres Clusters oder rufen Sie sie mit der AWS CLI ab:
aws eks describe-capability \ --cluster-namemy-cluster\ --capability-namemy-argocd\ --query 'capability.configuration.argoCd.webhookUrl' \ --output text \ --regionregion-code
Webhooks nach Git-Anbieter konfigurieren
GitHub: Fügen Sie in Ihren Repository-Einstellungen einen Webhook mit der Argo CD-Webhook-URL hinzu. Stellen Sie den Inhaltstyp auf ein application/json und wählen Sie „Nur das Push-Ereignis“.
GitLab: Fügen Sie in Ihren Projekteinstellungen einen Webhook mit der Argo CD-Webhook-URL hinzu. Aktivieren Sie „Push-Ereignisse“ und optional „Tag-Push-Ereignisse“.
Bitbucket: Fügen Sie in Ihren Repository-Einstellungen einen Webhook mit der Argo CD-Webhook-URL hinzu. Wählen Sie „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
Anmerkung
Webhooks ergänzen das Polling — sie ersetzen es nicht. Argo CD fragt weiterhin Repositorys als Ausweichmechanismus für den Fall ab, dass Webhook-Benachrichtigungen übersehen werden.
Nächste Schritte
-
Arbeiten mit Argo CD- Erfahren Sie, wie Sie Argo CD-Anwendungen erstellen und verwalten
-
Probleme mit den Funktionen von Argo CD beheben- Beheben Sie Probleme mit Argo CD
-
Mit Capability-Ressourcen arbeiten- Verwalten Sie Ihre Argo-CD-Funktionsressourcen