

 **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.

# Argo CD-Konzepte
<a name="argocd-concepts"></a>

Argo CD implementiert, GitOps indem es Git als zentrale Informationsquelle für Ihre Anwendungsbereitstellungen behandelt. In diesem Thema wird ein praktisches Beispiel vorgestellt und anschließend die Kernkonzepte erläutert, die Sie bei der Arbeit mit der EKS-Funktion für Argo CD verstehen müssen.

## Erste Schritte mit Argo CD
<a name="_getting_started_with_argo_cd"></a>

Nachdem Sie die Argo-CD-Funktion erstellt haben (siehe[Erstellen einer Argo CD-Funktion](create-argocd-capability.md)), können Sie mit der Bereitstellung von Anwendungen beginnen. In diesem Beispiel werden die Registrierung eines Clusters und die Erstellung einer Anwendung beschrieben.

### Schritt 1: Einrichten von
<a name="_step_1_set_up"></a>

 **Registrieren Sie Ihren Cluster** (erforderlich)

Registrieren Sie den Cluster, in dem Sie Anwendungen bereitstellen möchten. In diesem Beispiel registrieren wir denselben Cluster, auf dem Argo CD läuft (Sie können den Namen aus `in-cluster` Kompatibilitätsgründen mit den meisten Argo-CD-Beispielen verwenden):

```
# Get your cluster ARN
CLUSTER_ARN=$(aws eks describe-cluster \
  --name my-cluster \
  --query 'cluster.arn' \
  --output text)

# Register the cluster using Argo CD CLI
argocd cluster add $CLUSTER_ARN \
  --aws-cluster-name $CLUSTER_ARN \
  --name in-cluster \
  --project default
```

**Anmerkung**  
Informationen zur Konfiguration der Argo-CD-CLI für die Verwendung mit der Argo-CD-Funktion in EKS finden Sie unter. [Verwenden der Argo-CD-CLI mit der verwalteten Funktion](argocd-comparison.md#argocd-cli-configuration)

Alternativ können Sie den Cluster mit einem Kubernetes Secret registrieren (Einzelheiten finden Sie unter[Zielcluster registrieren](argocd-register-clusters.md)).

 **Konfigurieren Sie den Repository-Zugriff** (optional)

In diesem Beispiel wird ein öffentliches GitHub Repository verwendet, sodass keine Repository-Konfiguration erforderlich ist. Für private Repositorys konfigurieren Sie den Zugriff mit AWS Secrets Manager oder Kubernetes Secrets (weitere Informationen finden Sie unter[Repository-Zugriff konfigurieren](argocd-configure-repositories.md)). CodeConnections

 AWS Dienste (ECR für Helm-Diagramme und CodeCommit) können Sie direkt in den Anwendungsressourcen referenzieren, ohne ein Repository zu erstellen. CodeConnections Die Capability-Rolle muss über die erforderlichen IAM-Berechtigungen verfügen. Details dazu finden Sie unter [Repository-Zugriff konfigurieren](argocd-configure-repositories.md).

### Schritt 2: Eine Anwendung erstellen
<a name="_step_2_create_an_application"></a>

Erstellen Sie dieses Anwendungsmanifest in`my-app.yaml`:

```
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/argoproj/argocd-example-apps.git
    targetRevision: HEAD
    path: guestbook
  destination:
    name: in-cluster
    namespace: guestbook
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
    - CreateNamespace=true
```

Wenden Sie die Anwendung an:

```
kubectl apply -f my-app.yaml
```

Nach dem Anwenden dieser Anwendung, Argo CD: 1. Synchronisiert die Anwendung von Git mit Ihrem Cluster (erste Bereitstellung) 2. Überwacht das Git-Repository auf Änderungen 3. Synchronisiert nachfolgende Änderungen automatisch mit Ihrem Cluster 4. Erkennt und korrigiert jede Abweichung vom gewünschten Zustand 5. Zeigt den Gesundheitsstatus und den Synchronisierungsverlauf auf der Benutzeroberfläche an

Den Status der Anwendung anzeigen:

```
kubectl get application guestbook -n argocd
```

Sie können die Anwendung auch über die Argo-CD-CLI oder die Argo-CD-Benutzeroberfläche anzeigen (zugänglich über die EKS-Konsole auf der Registerkarte Capabilities Ihres Clusters).

**Anmerkung**  
Wenn Sie die Argo CD-CLI mit der verwalteten Funktion verwenden, geben Sie Anwendungen mit dem Namespace-Präfix an:. `argocd app get argocd/guestbook`

**Anmerkung**  
Verwenden Sie den Clusternamen in `destination.name` (den Namen, den Sie bei der Registrierung des Clusters verwendet haben). Die verwaltete Funktion unterstützt nicht die lokale Standardeinstellung im Cluster (`kubernetes.default.svc`).

## Schlüsselkonzepte
<a name="_core_concepts"></a>

### GitOps Prinzipien und Quelltypen
<a name="_gitops_principles_and_source_types"></a>

Argo CD implementiert GitOps, wobei Ihre Anwendungsquelle die zentrale Informationsquelle für Implementierungen ist:
+  **Deklarativ** — Der gewünschte Status wird mithilfe von YAML-Manifesten, Helm-Diagrammen oder Kustomize-Overlays deklariert
+  **Versioniert** — Jede Änderung wird anhand eines vollständigen Prüfprotokolls nachverfolgt
+  **Automatisiert** — Argo CD überwacht kontinuierlich die Quellen und synchronisiert Änderungen automatisch
+  **Selbstheilung** — Erkennt und korrigiert Abweichungen zwischen dem gewünschten und dem tatsächlichen Clusterstatus

 **Unterstützte Quelltypen:**
+  **Git-Repositorien** - GitHub, GitLab, Bitbucket, CodeCommit (HTTPS, SSH oder) CodeConnections
+  **Helm-Register** — HTTP-Register (wie`https://aws.github.io/eks-charts`) und OCI-Register (wie) `public.ecr.aws`
+  **OCI-Images — Container-Images**, die Manifeste oder Helm-Charts (ähnlich) enthalten `oci://registry-1.docker.io/user/my-app`

Diese Flexibilität ermöglicht es Unternehmen, Quellen auszuwählen, die ihren Sicherheits- und Compliance-Anforderungen entsprechen. Beispielsweise können Organisationen, die den Git-Zugriff von Clustern aus einschränken, ECR für Helm-Diagramme oder OCI-Images verwenden.

Weitere Informationen finden Sie in der Argo-CD-Dokumentation unter [Anwendungsquellen](https://argo-cd.readthedocs.io/en/stable/user-guide/application-sources/).

### Synchronisieren und Abgleichen
<a name="_sync_and_reconciliation"></a>

Argo CD überwacht kontinuierlich Ihre Quellen und Cluster, um Unterschiede zu erkennen und zu korrigieren:

1. Fragt Quellen nach Änderungen ab (Standard: alle 6 Minuten)

1. Vergleicht den gewünschten Status mit dem Clusterstatus

1. Markiert Anwendungen als `Synced` oder `OutOfSync` 

1. Synchronisiert Änderungen automatisch (falls konfiguriert) oder wartet auf die manuelle Genehmigung

1. Überwacht den Zustand der Ressourcen nach der Synchronisierung

 **Synchronisierungswellen** steuern die Reihenfolge der Ressourcenerstellung mithilfe von Anmerkungen:

```
metadata:
  annotations:
    argocd.argoproj.io/sync-wave: "0"  # Default if not specified
```

Ressourcen werden in der Reihenfolge der Wellen angewendet (niedrigere Zahlen zuerst, einschließlich negativer Zahlen wie`-1`). Wave `0` ist die Standardeinstellung, sofern sie nicht angegeben ist. Auf diese Weise können Sie Abhängigkeiten wie Namespaces (Wave`-1`) vor Bereitstellungen (Wave) vor Diensten (Wave`0`) erstellen. `1`

 Durch die **Selbstheilung** werden manuelle Änderungen automatisch rückgängig gemacht:

```
spec:
  syncPolicy:
    automated:
      selfHeal: true
```

**Anmerkung**  
Die verwaltete Funktion verwendet eine auf Anmerkungen basierende Ressourcenverfolgung (nicht labelbasiert), um die Kompatibilität mit Kubernetes-Konventionen und anderen Tools zu verbessern.

[Ausführliche Informationen zu Synchronisierungsphasen, Hooks und erweiterten Mustern finden Sie in der Argo CD-Synchronisierungsdokumentation.](https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/)

### Integrität der Anwendung
<a name="_application_health"></a>

Argo CD überwacht den Zustand aller Ressourcen in Ihrer Anwendung:

 **Integritätsstatus****: \$1 Fehlerfrei — Alle Ressourcen laufen wie erwartet \$1 **Fortschritt** — Ressourcen werden erstellt oder aktualisiert \$1 **Heruntergestuft** — Einige Ressourcen sind nicht fehlerfrei (Pods stürzen ab, Jobs schlagen fehl) \$1 **Suspendiert** — Anwendung wurde absichtlich angehalten \$1 **Fehlt** — In Git definierte Ressourcen sind nicht im Cluster vorhanden**

Argo CD verfügt über integrierte Integritätsprüfungen für gängige Kubernetes-Ressourcen (Deployments StatefulSets, Jobs usw.) und unterstützt benutzerdefinierte Integritätsprüfungen für. CRDs

Der Zustand einer Anwendung wird durch all ihre Ressourcen bestimmt — wenn es eine Ressource gibt`Degraded`, ist es auch die Anwendung. `Degraded`

Weitere Informationen finden Sie unter [Resource Health](https://argo-cd.readthedocs.io/en/stable/operator-manual/health/) in der Argo-CD-Dokumentation.

### Muster mit mehreren Clustern
<a name="_multi_cluster_patterns"></a>

Argo CD unterstützt zwei Hauptbereitstellungsmuster:

 **H ub-and-spoke** — Führen Sie Argo CD auf einem dedizierten Management-Cluster aus, der auf mehreren Workload-Clustern bereitgestellt wird: \$1 Zentrale Steuerung und Transparenz \$1 Konsistente Richtlinien für alle Cluster \$1 Eine Argo-CD-Instanz zur Verwaltung \$1 Klare Trennung zwischen Steuerungsebene und Workloads

 **Pro Cluster** — Führen Sie Argo CD auf jedem Cluster aus und verwalten Sie nur die Anwendungen dieses Clusters: \$1 Clustertrennung (ein Fehler hat keine Auswirkungen auf andere) \$1 Einfachere Vernetzung (keine clusterübergreifende Kommunikation) \$1 Einfachere Ersteinrichtung (keine Clusterregistrierung)

 hub-and-spokeEntscheiden Sie sich für Plattformteams, die viele Cluster verwalten, oder pro Cluster für unabhängige Teams oder wenn Cluster vollständig isoliert werden müssen.

Eine detaillierte Konfiguration mehrerer Cluster finden Sie unter. [Überlegungen zu Argo CD](argocd-considerations.md)

### Projekte
<a name="_projects"></a>

Projekte bieten logische Gruppierung und Zugriffskontrolle für Anwendungen:
+  **Quellenbeschränkungen** — Beschränken Sie, welche Git-Repositorys verwendet werden können
+  **Zielbeschränkungen** — Beschränken Sie, welche Cluster und Namespaces als Ziel ausgewählt werden können
+  **Ressourceneinschränkungen** — Beschränken Sie, welche Kubernetes-Ressourcentypen bereitgestellt werden können
+  **RBAC-Integration** — Ordnen Sie Projekte AWS Identity Center-Benutzern und Gruppen zu IDs

Anwendungen gehören zu einem einzigen Projekt. Wenn nicht angegeben, verwenden sie das `default` Projekt, für das standardmäßig keine Einschränkungen gelten. Bearbeiten Sie das `default` Projekt für den produktiven Einsatz, um den Zugriff einzuschränken, und erstellen Sie neue Projekte mit entsprechenden Einschränkungen.

Informationen zur Projektkonfiguration und zu RBAC-Mustern finden Sie unter. [Argo-CD-Berechtigungen konfigurieren](argocd-permissions.md)

### Synchronisierungsoptionen
<a name="_sync_options"></a>

Optimieren Sie das Synchronisierungsverhalten mit gängigen Optionen:
+  `CreateNamespace=true`— Automatisch einen Ziel-Namespace erstellen
+  `ServerSideApply=true`- Verwenden Sie serverseitiges Anwenden für eine bessere Konfliktlösung
+  `SkipDryRunOnMissingResource=true`- Überspringe den Testlauf, wenn er noch CRDs nicht existiert (nützlich für Kro-Instanzen)

```
spec:
  syncPolicy:
    syncOptions:
    - CreateNamespace=true
    - ServerSideApply=true
    - SkipDryRunOnMissingResource=true
```

Eine vollständige Liste der Synchronisierungsoptionen finden Sie in der Dokumentation zu den [Argo-CD-Synchronisierungsoptionen](https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/).

## Nächste Schritte
<a name="_next_steps"></a>
+  [Repository-Zugriff konfigurieren](argocd-configure-repositories.md)- Git-Repository-Zugriff konfigurieren
+  [Zielcluster registrieren](argocd-register-clusters.md)- Registrieren Sie Zielcluster für die Bereitstellung
+  [Anwendungen erstellen](argocd-create-application.md)- Erstellen Sie Ihre erste Anwendung
+  [Überlegungen zu Argo CD](argocd-considerations.md)- EKS-spezifische Muster, Identity Center-Integration und Multi-Cluster-Konfiguration
+  [Argo-CD-Dokumentation](https://argo-cd.readthedocs.io/en/stable/) — Umfassende Argo-CD-Dokumentation mit Sync-Hooks, Integritätsprüfungen und erweiterten Mustern