

 **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
<a name="argocd-register-clusters"></a>

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. Sobald ein Cluster registriert ist, verbleibt er im Verbindungsstatus Unbekannt, bis Sie eine Anwendung innerhalb dieses Clusters erstellen. Informationen zum Erstellen einer Argo-CD-Anwendung nach der Registrierung Ihres Clusters finden Sie unter[Anwendungen erstellen](argocd-create-application.md).

## Voraussetzungen
<a name="_prerequisites"></a>
+ Es wurde ein EKS-Cluster mit der Argo-CD-Funktion erstellt
+  `kubectl`konfiguriert für die Kommunikation mit Ihrem Cluster
+ Für Remote-Cluster: entsprechende IAM-Berechtigungen und Zugriffseinträge

## Registrieren Sie den lokalen Cluster
<a name="_register_the_local_cluster"></a>

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

**Wichtig**  
Die Argo-CD-Funktion registriert den lokalen Cluster nicht automatisch. Sie müssen es explizit registrieren, um Anwendungen auf demselben Cluster bereitzustellen. Sie können den Clusternamen aus `in-cluster` Gründen der Kompatibilität mit den meisten Argo-CD-Beispielen online verwenden.

**Anmerkung**  
Ein EKS-Zugriffseintrag wird automatisch für den lokalen Cluster mit der Argo-CD-Capability-Rolle erstellt, aber standardmäßig werden keine Kubernetes-RBAC-Berechtigungen gewährt. Dies folgt dem Prinzip der geringsten Rechte — Sie müssen die Berechtigungen, die Argo CD benötigt, explizit auf der Grundlage Ihres Anwendungsfalls konfigurieren. Wenn Sie diesen Cluster beispielsweise nur als Argo-CD-Hub für die Verwaltung von Remote-Clustern verwenden, benötigt er keine lokalen Bereitstellungsberechtigungen. Die Konfigurationsoptionen finden Sie im Abschnitt mit den RBAC-Anforderungen für Access Entry weiter unten.

 **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
<a name="_register_remote_clusters"></a>

So führen Sie die Bereitstellung auf Remote-Clustern durch:

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

*region-code*Ersetzen 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: Verknüpfen Sie eine Zugriffsrichtlinie mit Kubernetes-RBAC-Berechtigungen** 

Für den Access Entry sind Kubernetes-RBAC-Berechtigungen erforderlich, damit Argo CD Anwendungen bereitstellen kann. Für einen schnellen Einstieg können Sie Folgendes verwenden: `AmazonEKSClusterAdminPolicy`

```
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
```

**Wichtig**  
Das `AmazonEKSClusterAdminPolicy` bietet vollen Cluster-Admin-Zugriff (entspricht`system:masters`). Dies ist praktisch für den Einstieg, sollte aber nicht in der Produktion verwendet werden. Verwenden Sie für Produktionsumgebungen restriktivere Berechtigungen, indem Sie den Access Entry benutzerdefinierten Kubernetes-Gruppen zuordnen und entsprechende Rollen oder Bindungen erstellen. ClusterRole Informationen zur Konfiguration mit den geringsten Rechten finden Sie im Abschnitt zur Produktionseinrichtung weiter unten.

 **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übergreifende Cluster
<a name="_cross_account_clusters"></a>

So führen Sie die Bereitstellung auf Clustern mit unterschiedlichen AWS Konten durch:

1. Erstellen Sie im Zielkonto einen Access-Eintrag auf dem EKS-Zielcluster, indem Sie den Argo CD IAM Capability Role ARN aus dem Quellkonto als Principal verwenden.

1. Ordnen Sie eine Zugriffsrichtlinie den entsprechenden Kubernetes-RBAC-Berechtigungen zu

1. Registrieren Sie den Cluster 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.

Das Cluster-ARN-Format umfasst die Region, sodass regionsübergreifende Bereitstellungen denselben Prozess verwenden wie Bereitstellungen derselben Region.

## Überprüfen Sie die Clusterregistrierung
<a name="_verify_cluster_registration"></a>

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
<a name="_private_clusters"></a>

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.

## Access Entry RBAC-Anforderungen
<a name="_access_entry_rbac_requirements"></a>

Wenn Sie eine Argo-CD-Funktion erstellen, wird automatisch ein EKS-Zugriffseintrag für die Capability Role erstellt, aber standardmäßig werden keine Kubernetes-RBAC-Berechtigungen gewährt. Dieses absichtliche Design folgt dem Prinzip der geringsten Rechte — unterschiedliche Anwendungsfälle erfordern unterschiedliche Berechtigungen.

Zum Beispiel: \$1 Wenn Sie den Cluster nur als Argo-CD-Hub zur Verwaltung von Remote-Clustern verwenden, benötigt er keine lokalen Bereitstellungsberechtigungen. \$1 Wenn Sie Anwendungen lokal bereitstellen, benötigt er Lesezugriff für den gesamten Cluster und Schreibzugriff auf bestimmte Namespaces. \$1 Wenn Sie Anwendungen erstellen müssen, sind zusätzliche Cluster-Admin-Rechte erforderlich CRDs

Sie müssen die Berechtigungen, die Argo CD benötigt, explizit auf der Grundlage Ihrer Anforderungen konfigurieren.

### Mindestberechtigungen für Argo CD
<a name="_minimum_permissions_for_argo_cd"></a>

Argo CD benötigt zwei Arten von Berechtigungen, um fehlerfrei zu funktionieren:

 **Leseberechtigungen (clusterweit)**: Argo CD muss in der Lage sein, alle Ressourcentypen und benutzerdefinierten Ressourcendefinitionen (CRDs) im gesamten Cluster zu lesen für:
+ Erkennung von Ressourcen und Zustandsprüfungen
+ Erkennung von Abweichungen zwischen dem gewünschten und dem tatsächlichen Zustand
+ Validierung der Ressourcen vor der Bereitstellung

 **Schreibberechtigungen (namespace-spezifisch)**: Argo CD benötigt Erstellungs-, Aktualisierungs- und Löschberechtigungen für Ressourcen, die in Anwendungen definiert sind:
+ Stellen Sie Anwendungs-Workloads bereit (Bereitstellungen, Dienste usw.) ConfigMaps
+ Wenden Sie benutzerdefinierte Ressourcen an (CRDs spezifisch für Ihre Anwendungen)
+ Verwalten Sie den Anwendungslebenszyklus

### Quick Setup
<a name="_quick_setup"></a>

Verwenden Sie für einen schnellen Einstieg in Test- oder Entwicklungsumgebungen`AmazonEKSClusterAdminPolicy`:

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

**Wichtig**  
Das `AmazonEKSClusterAdminPolicy` bietet vollen Cluster-Admin-Zugriff (entspricht`system:masters`), einschließlich der Möglichkeit, clusterweite Ressourcen zu erstellen CRDs, zu ändern und in beliebigen Namespaces bereitzustellen. Dies ist praktisch für die Entwicklung, sollte POCs aber nicht in der Produktion verwendet werden. Verwenden Sie für die Produktion das unten stehende Setup mit den geringsten Rechten.

### Produktions-Setup mit den geringsten Rechten
<a name="_production_setup_with_least_privilege"></a>

Erstellen Sie für Produktionsumgebungen eine benutzerdefinierte Kubernetes-RBAC, die Folgendes gewährt:
+ Clusterweiter Lesezugriff auf alle Ressourcen (für Erkennungs- und Integritätsprüfungen)
+ Namespace-spezifischer Schreibzugriff (für Bereitstellungen)

 **Schritt 1: Verknüpfen Sie Access Entry mit einer benutzerdefinierten Kubernetes-Gruppe** 

```
aws eks associate-access-policy \
  --region region-code \
  --cluster-name my-cluster \
  --principal-arn arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole \
  --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy \
  --access-scope type=namespace,namespaces=app-namespace
```

 **Schritt 2: ClusterRole Für Lesezugriff erstellen** 

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: argocd-read-all
rules:
# Read access to all resources for discovery and health checks
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["get", "list", "watch"]
```

 **Schritt 3: Rolle für den Schreibzugriff auf Anwendungs-Namespaces erstellen** 

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: argocd-deploy
  namespace: app-namespace
rules:
# Full access to deploy application resources
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]
```

 **Schritt 4: Binden Sie Rollen an die Kubernetes-Gruppe** 

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: argocd-read-all
subjects:
- kind: Group
  name: eks-access-entry:arn:aws:iam::111122223333:role/ArgoCDCapabilityRole
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: argocd-read-all
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: argocd-deploy
  namespace: app-namespace
subjects:
- kind: Group
  name: eks-access-entry:arn:aws:iam::111122223333:role/ArgoCDCapabilityRole
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: argocd-deploy
  apiGroup: rbac.authorization.k8s.io
```

**Anmerkung**  
Auf das Gruppennamenformat für Access Entries `eks-access-entry:` folgt der Prinzipal-ARN. Wiederholen Sie den Vorgang RoleBinding für jeden Namespace, in dem Argo CD Anwendungen bereitstellen soll.

**Wichtig**  
Argo CD muss in der Lage sein, alle Ressourcentypen im gesamten Cluster für Integritätsprüfungen und Erkennungen zu lesen, auch wenn es nur in bestimmten Namespaces bereitgestellt wird. Ohne clusterweiten Lesezugriff zeigt Argo CD bei der Überprüfung des Anwendungszustands Fehler an.

## Beschränken Sie den Clusterzugriff mit Projekten
<a name="_restrict_cluster_access_with_projects"></a>

Verwenden Sie Projekte, um zu kontrollieren, in welchen Clustern und Namespaces Anwendungen bereitgestellt werden können. Konfigurieren Sie dazu die zulässigen Zielcluster und Namespaces in: `spec.destinations`

```
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](argocd-projects.md).

## Weitere Ressourcen
<a name="_additional_resources"></a>
+  [Zusammenarbeit mit Argo CD Projects](argocd-projects.md)- Organisieren Sie Anwendungen und setzen Sie Sicherheitsgrenzen durch
+  [Anwendungen erstellen](argocd-create-application.md)- Stellen Sie Ihre erste Anwendung bereit
+  [Benutzen ApplicationSets](argocd-applicationsets.md)- Stellen Sie die Lösung auf mehreren Clustern bereit mit ApplicationSets
+  [Überlegungen zu Argo CD](argocd-considerations.md)- Multi-Cluster-Muster und kontenübergreifende Einrichtung
+  [Deklaratives Cluster-Setup — Referenz](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters) zur Upstream-Cluster-Konfiguration