

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

# Anwendungen erstellen
<a name="argocd-create-application"></a>

Anwendungen stellen Bereitstellungen in Zielclustern dar. Jede Anwendung definiert eine Quelle (Git-Repository) und ein Ziel (Cluster und Namespace). Wenn es angewendet wird, erstellt Argo CD die durch Manifeste im Git-Repository angegebenen Ressourcen für den Namespace im Cluster. Anwendungen spezifizieren häufig Workload-Bereitstellungen, können aber alle im Zielcluster verfügbaren Kubernetes-Ressourcen verwalten.

## Voraussetzungen
<a name="_prerequisites"></a>
+ Es wurde ein EKS-Cluster mit der Argo-CD-Funktion erstellt
+ Der Repository-Zugriff ist konfiguriert (siehe[Repository-Zugriff konfigurieren](argocd-configure-repositories.md))
+ Der Zielcluster ist registriert (siehe[Zielcluster registrieren](argocd-register-clusters.md))
+  `kubectl`für die Kommunikation mit Ihrem Cluster konfiguriert

## Erstellen Sie eine Basisanwendung
<a name="_create_a_basic_application"></a>

Definieren Sie eine Anwendung, die aus einem Git-Repository bereitgestellt wird:

```
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/argoproj/argocd-example-apps
    targetRevision: HEAD
    path: guestbook
  destination:
    name: in-cluster
    namespace: default
```

**Anmerkung**  
Verwenden Sie es `destination.name` mit dem Clusternamen, den Sie bei der Registrierung des Clusters verwendet haben (wie `in-cluster` für den lokalen Cluster). Das `destination.server` Feld funktioniert auch mit EKS-Clustern ARNs, aus Gründen der besseren Lesbarkeit wird jedoch die Verwendung von Clusternamen empfohlen.

Wenden Sie die Anwendung an:

```
kubectl apply -f application.yaml
```

Den Status der Bewerbung anzeigen:

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

## Konfiguration der Quelle
<a name="_source_configuration"></a>

 **Git-Repository**:

```
spec:
  source:
    repoURL: https://github.com/example/my-app
    targetRevision: main
    path: kubernetes/manifests
```

 **Spezifisches Git-Tag oder Commit**:

```
spec:
  source:
    targetRevision: v1.2.0  # or commit SHA
```

 **Helmdiagramm**:

```
spec:
  source:
    repoURL: https://github.com/example/helm-charts
    targetRevision: main
    path: charts/my-app
    helm:
      valueFiles:
      - values.yaml
      parameters:
      - name: image.tag
        value: v1.2.0
```

 **Helmdiagramm mit Werten aus dem externen Git-Repository** (Multisource-Muster):

```
spec:
  sources:
  - repoURL: https://github.com/example/helm-charts
    targetRevision: main
    path: charts/my-app
    helm:
      valueFiles:
      - $values/environments/production/values.yaml
  - repoURL: https://github.com/example/config-repo
    targetRevision: main
    ref: values
```

Weitere Informationen finden Sie unter [Helm Value Files from External Git Repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) in der Argo-CD-Dokumentation.

 **Helm-Diagramm aus ECR**:

```
spec:
  source:
    repoURL: oci://account-id.dkr.ecr.region.amazonaws.com/repository-name
    targetRevision: chart-version
    chart: chart-name
```

Wenn die Capability-Rolle über die erforderlichen ECR-Berechtigungen verfügt, wird das Repository direkt verwendet und es ist keine Repository-Konfiguration erforderlich. Details dazu finden Sie unter [Repository-Zugriff konfigurieren](argocd-configure-repositories.md).

 **Git-Repository von CodeCommit**:

```
spec:
  source:
    repoURL: https://git-codecommit.region.amazonaws.com/v1/repos/repository-name
    targetRevision: main
    path: kubernetes/manifests
```

Wenn die Capability-Rolle über die erforderlichen CodeCommit Berechtigungen verfügt, wird das Repository direkt verwendet und es ist keine Repository-Konfiguration erforderlich. Details dazu finden Sie unter [Repository-Zugriff konfigurieren](argocd-configure-repositories.md).

 **Git-Repository von CodeConnections**:

```
spec:
  source:
    repoURL: https://codeconnections.region.amazonaws.com/git-http/account-id/region/connection-id/owner/repository.git
    targetRevision: main
    path: kubernetes/manifests
```

Das Repository-URL-Format wird vom CodeConnections Verbindungs-ARN abgeleitet. Wenn die Capability-Rolle über die erforderlichen CodeConnections Berechtigungen verfügt und eine Verbindung konfiguriert ist, wird das Repository direkt verwendet und es ist keine Repository-Konfiguration erforderlich. Details dazu finden Sie unter [Repository-Zugriff konfigurieren](argocd-configure-repositories.md).

 **Anpassen**:

```
spec:
  source:
    repoURL: https://github.com/example/kustomize-app
    targetRevision: main
    path: overlays/production
    kustomize:
      namePrefix: prod-
```

## Richtlinien synchronisieren
<a name="_sync_policies"></a>

Steuern Sie, wie Argo CD Anwendungen synchronisiert.

 **Manuelle Synchronisation (Standard)**:

Für die Synchronisierung von Anwendungen ist eine manuelle Genehmigung erforderlich:

```
spec:
  syncPolicy: {}  # No automated sync
```

Synchronisation manuell auslösen:

```
kubectl patch application guestbook -n argocd \
  --type merge \
  --patch '{"operation": {"initiatedBy": {"username": "admin"}, "sync": {}}}'
```

 **Automatische Synchronisation**:

Anwendungen werden automatisch synchronisiert, wenn Git-Änderungen erkannt werden:

```
spec:
  syncPolicy:
    automated: {}
```

 **Selbstheilung**:

Manuelle Änderungen am Cluster automatisch rückgängig machen:

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

Wenn diese Option aktiviert ist, macht Argo CD alle manuellen Änderungen rückgängig, die direkt am Cluster vorgenommen wurden, und stellt so sicher, dass Git die Quelle der Wahrheit bleibt.

 **Beschneiden:**

Automatisches Löschen von Ressourcen, die aus Git entfernt wurden:

```
spec:
  syncPolicy:
    automated:
      prune: true
```

**Warnung**  
Durch das Bereinigen werden Ressourcen aus Ihrem Cluster gelöscht. In Produktionsumgebungen mit Vorsicht verwenden.

 **Kombinierte automatische Synchronisation**:

```
spec:
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
    - CreateNamespace=true
```

 **Konfiguration erneut versuchen**:

Konfigurieren Sie das Wiederholungsverhalten für fehlgeschlagene Synchronisierungen:

```
spec:
  syncPolicy:
    retry:
      limit: 5  # Number of failed sync attempts; unlimited if less than 0
      backoff:
        duration: 5s  # Amount to back off (default unit: seconds, also supports "2m", "1h")
        factor: 2  # Factor to multiply the base duration after each failed retry
        maxDuration: 3m  # Maximum amount of time allowed for the backoff strategy
```

Dies ist besonders nützlich für Ressourcen, die darauf angewiesen sind, dass CRDs sie zuerst erstellt wurden, oder wenn Sie mit Kro-Instanzen arbeiten, bei denen die CRD möglicherweise nicht sofort verfügbar ist.

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

Zusätzliche Synchronisierungskonfiguration:

 **Erstellen Sie einen Namespace, falls er nicht existiert**:

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

 **Probelauf wegen fehlender Ressourcen überspringen**:

Nützlich beim Anwenden von Ressourcen, CRDs die davon abhängen, die noch nicht existieren (wie Kro-Instanzen):

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

Dies kann auch auf bestimmte Ressourcen angewendet werden, indem ein Label auf der Ressource selbst verwendet wird.

 **Überprüfen Sie die Ressourcen, bevor Sie sie anwenden**:

```
spec:
  syncPolicy:
    syncOptions:
    - Validate=true
```

 **Nur unsynchron anwenden**:

```
spec:
  syncPolicy:
    syncOptions:
    - ApplyOutOfSyncOnly=true
```

## Erweiterte Synchronisierungsfunktionen
<a name="_advanced_sync_features"></a>

Argo CD unterstützt erweiterte Synchronisierungsfunktionen für komplexe Bereitstellungen:
+  **Sync Waves** — Steuern Sie die Reihenfolge der Ressourcenerstellung mit Anmerkungen `argocd.argoproj.io/sync-wave`
+  **Hooks synchronisieren** — Führt Jobs vor oder nach der Synchronisierung mit `argocd.argoproj.io/hook` Anmerkungen aus (PreSync,, PostSync) SyncFail
+  **Bewertung des Ressourcenzustands** — Benutzerdefinierte Zustandsprüfungen für anwendungsspezifische Ressourcen

Einzelheiten finden Sie unter [Sync Waves](https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/) und [Resource Hooks](https://argo-cd.readthedocs.io/en/stable/user-guide/resource_hooks/) in der Argo-CD-Dokumentation.

## Ignoriere Unterschiede
<a name="_ignore_differences"></a>

Verhindern Sie, dass Argo CD bestimmte Felder synchronisiert, die von anderen Controllern verwaltet werden (wie HPA, das Replikate verwaltet):

```
spec:
  ignoreDifferences:
  - group: apps
    kind: Deployment
    jsonPointers:
    - /spec/replicas
```

Einzelheiten zu Ignorierungsmustern und Feldausschlüssen finden Sie unter [Diffing Customization](https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/) in der Argo-CD-Dokumentation.

## Einsatz in mehreren Umgebungen
<a name="_multi_environment_deployment"></a>

Stellen Sie dieselbe Anwendung in mehreren Umgebungen bereit:

 **Entwicklung**:

```
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app-dev
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/example/my-app
    targetRevision: develop
    path: overlays/development
  destination:
    name: dev-cluster
    namespace: my-app
```

 **Produktion**:

```
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app-prod
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/example/my-app
    targetRevision: main
    path: overlays/production
  destination:
    name: prod-cluster
    namespace: my-app
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
```

## Anwendungen überwachen und verwalten
<a name="_monitor_and_manage_applications"></a>

 **Status der Bewerbung anzeigen**:

```
kubectl get application my-app -n argocd
```

 **Greifen Sie auf die Benutzeroberfläche von Argo CD zu**:

Öffnen Sie die Benutzeroberfläche von Argo CD über die EKS-Konsole, um die Anwendungstopologie, den Synchronisierungsstatus, den Zustand der Ressourcen und den Bereitstellungsverlauf einzusehen. Anweisungen [Arbeiten mit Argo CD](working-with-argocd.md) zum Zugriff auf die Benutzeroberfläche finden Sie unter.

 **Rollback-Anwendungen**:

Rollback zu einer früheren Version mithilfe der Argo-CD-Benutzeroberfläche, der Argo-CD-CLI oder durch Aktualisierung der Anwendungsspezifikation `targetRevision` auf einen früheren Git-Commit oder -Tag.

Verwenden der Argo-CD-CLI:

```
argocd app rollback argocd/my-app <revision-id>
```

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

Weitere Informationen finden Sie unter [argocd app rollback in der Argo-CD-Dokumentation](https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd_app_rollback/).

## Weitere Ressourcen
<a name="_additional_resources"></a>
+  [Zusammenarbeit mit Argo CD Projects](argocd-projects.md)- Organisieren Sie Anwendungen mit Projekten für Umgebungen mit mehreren Mandanten
+  [Benutzen ApplicationSets](argocd-applicationsets.md)- Stellen Sie die Lösung mithilfe von Vorlagen auf mehreren Clustern bereit
+  [Anwendungsspezifikation](https://argo-cd.readthedocs.io/en/stable/user-guide/application-specification/) — Vollständige Anwendungs-API-Referenz
+  [Synchronisierungsoptionen](https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/) — Erweiterte Synchronisierungskonfiguration