Zielcluster registrieren - 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 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.

Zielcluster registrieren

Registrieren Sie Cluster, damit Argo CD Anwendungen für sie bereitstellen kann. Sie können denselben Cluster registrieren, auf dem Argo CD läuft (lokaler Cluster), oder Remote-Cluster in verschiedenen Konten oder Regionen.

Voraussetzungen

  • Es wurde ein EKS-Cluster mit der Argo-CD-Funktion erstellt

  • kubectlkonfiguriert für die Kommunikation mit Ihrem Cluster

  • Für Remote-Cluster: entsprechende IAM-Berechtigungen und Zugriffseinträge

Registrieren Sie den lokalen Cluster

Um Anwendungen auf demselben Cluster bereitzustellen, auf dem Argo CD läuft, registrieren Sie ihn als Bereitstellungsziel.

Anmerkung

Die Argo-CD-Funktion registriert den lokalen Cluster nicht automatisch. Sie müssen es explizit registrieren, um Anwendungen auf demselben Cluster bereitzustellen.

Verwenden der Argo-CD-CLI:

argocd cluster add <cluster-context-name> \ --aws-cluster-name arn:aws:eks:us-west-2:111122223333:cluster/my-cluster \ --name local-cluster

Verwendung eines Kubernetes-Geheimnisses:

apiVersion: v1 kind: Secret metadata: name: local-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster stringData: name: local-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/my-cluster project: default

Wenden Sie die Konfiguration an:

kubectl apply -f local-cluster.yaml
Anmerkung

Verwenden Sie den EKS-Cluster-ARN im server Feld, nicht die Kubernetes-API-Server-URL. Die verwaltete Funktion erfordert die Identifizierung ARNs von Clustern. Die Standardeinstellung kubernetes.default.svc wird nicht unterstützt.

Registrieren Sie Remote-Cluster

Für die Bereitstellung auf Remote-Clustern müssen Sie:

  1. Erstellen Sie einen Zugriffseintrag auf dem Remote-Cluster für Ihre Argo CD IAM-Fähigkeitsrolle

  2. Ordnen Sie eine Zugriffsrichtlinie den entsprechenden Berechtigungen zu

  3. Registrieren Sie den Cluster auf Argo CD

Schritt 1: Erstellen Sie den Zugriffseintrag auf dem Remote-Cluster

region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Remote-Cluster befindet, remote-cluster ersetzen Sie es durch den Namen Ihres Remote-Clusters und ersetzen Sie den ARN durch Ihren ARGO-CD-Funktionsrollen-ARN.

aws eks create-access-entry \ --region region-code \ --cluster-name remote-cluster \ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole \ --type STANDARD

Schritt 2: Ordnen Sie eine Zugriffsrichtlinie zu

aws eks associate-access-policy \ --region region-code \ --cluster-name remote-cluster \ --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster
Anmerkung

Für Produktionsumgebungen sollten Sie die Verwendung restriktiverer Zugriffsrichtlinien in Betracht ziehen. Informationen zu Konfigurationen mit Sicherheitsüberlegungen für EKS-Funktionen den geringsten Rechten finden Sie unter.

Schritt 3: Registrieren Sie den Cluster auf Argo CD

Verwenden der Argo-CD-CLI:

argocd cluster add <cluster-context-name> \ --aws-cluster-name arn:aws:eks:us-west-2:111122223333:cluster/remote-cluster \ --name remote-cluster

Verwendung eines Kubernetes-Geheimnisses:

apiVersion: v1 kind: Secret metadata: name: remote-cluster namespace: argocd labels: argocd.argoproj.io/secret-type: cluster stringData: name: remote-cluster server: arn:aws:eks:us-west-2:111122223333:cluster/remote-cluster project: default

Wenden Sie die Konfiguration an:

kubectl apply -f remote-cluster.yaml

Konten- und regionsübergreifende Cluster

So führen Sie die Bereitstellung auf Clustern in verschiedenen AWS Konten oder Regionen durch:

  1. Fügen Sie die Argo CD Capability Role als Zugriffseintrag auf dem Remote-Cluster hinzu

  2. Ordnen Sie (in der RegelAmazonEKSClusterAdminPolicy) die entsprechende Zugriffsrichtlinie zu

  3. Registrieren Sie den Cluster mit seinem vollständigen ARN (einschließlich der Region)

Das Cluster-ARN-Format beinhaltet die Region, sodass es keinen Unterschied zwischen kontoübergreifender und regionsübergreifender Registrierung gibt — beide verwenden denselben Prozess.

Eine detaillierte kontoübergreifende Konfiguration, einschließlich Vertrauensrichtlinien und IAM-Berechtigungen, finden Sie unter. Überlegungen zu Argo CD

Überprüfen Sie die Clusterregistrierung

Registrierte Cluster anzeigen:

kubectl get secrets -n argocd -l argocd.argoproj.io/secret-type=cluster

Oder überprüfen Sie den Clusterstatus in der Benutzeroberfläche von Argo CD unter Einstellungen → Cluster.

Private Cluster

Die Argo-CD-Funktion bietet transparenten Zugriff auf vollständig private EKS-Cluster, 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.

Registrieren Sie den privaten Cluster einfach mit seinem ARN — es ist keine zusätzliche Netzwerkeinrichtung erforderlich.

Beschränken Sie den Cluster-Zugriff mit Projekten

Verwenden Sie Projekte, um zu steuern, in welchen Clustern Anwendungen bereitgestellt werden können:

apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: production namespace: argocd spec: destinations: - server: arn:aws:eks:us-west-2:111122223333:cluster/prod-cluster namespace: '*' - server: arn:aws:eks:eu-west-1:111122223333:cluster/prod-eu-cluster namespace: '*' sourceRepos: - 'https://github.com/example/production-apps'

Details hierzu finden Sie unter Zusammenarbeit mit Argo CD Projects.

Weitere Ressourcen