Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
Production patterns for managing secrets in GitOps workflows: Sealed Secrets, External Secrets Operator, SOPS, and HashiCorp Vault integration with ArgoCD.
GitOps transformiert das Infrastrukturmanagement, indem Git zur einzigen Quelle der Wahrheit („Single Source of Truth“) wird. ArgoCD implementiert GitOps für Kubernetes mit einer leistungsstarken Benutzeroberfläche und Automatisierungsmöglichkeiten.
Traditionelle CI/CD-Pipelines pushen Änderungen in Cluster. GitOps kehrt dies um:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```text
### Zugriff auf die UI
```bash
kubectl port-forward svc/argocd-server -n argocd 8080:443
```text
## Applikationskonfiguration
### Basis-Applikation
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/my-app
targetRevision: main
path: k8s
destination:
server: https://kubernetes.default.svc
namespace: my-app
syncPolicy:
automated:
prune: true
selfHeal: true
```text
### Multi-Cluster-Setup
```yaml
spec:
destination:
server: https://cluster-2.example.com
namespace: production
```text
## Sync-Strategien
### Automatische Synchronisierung
```yaml
syncPolicy:
automated:
prune: true # Delete resources not in Git
selfHeal: true # Revert manual changes
```text
### Manuelle Synchronisierung mit Hooks
```yaml
hooks:
- name: PreSync
type: PreSync
command: ["sh", "-c", "run-migrations.sh"]
```text
## Rollback-Strategie
ArgoCD macht Rollbacks trivial:
```bash
# List history
argocd app history my-app
# Rollback to previous
argocd app rollback my-app 1
```text
## Best Practices
1. **Eine App pro Repository** oder Nutzung eines Monorepos mit klar definierten Pfaden
2. **Getrennte Umgebungen** über Branches oder Kustomize-Overlays
3. **Verwendung von ApplicationSets** für Multi-Cluster-Deployments
4. **Benachrichtigungen aktivieren** bei Synchronisierungsfehlern
5. **RBAC implementieren** für die Zugriffskontrolle innerhalb des Teams
## Fazit
ArgoCD bringt deklarative, versionskontrollierte Deployments zu Kubernetes. Beginnen Sie einfach, fügen Sie bei Bedarf Komplexität hinzu und testen Sie Rollbacks stets im Vorfeld.