Freigeben über


Anwendungsbereitstellungen mit GitOps (Argo CD) für AKS und Azure Arc-fähiges Kubernetes

Wenn Sie Argo CD für GitOps auf Azure Kubernetes Service (AKS) und Azure Arc-fähigen Kubernetes-Clustern verwenden, wird Ihr Git-Repository die Quelle der Wahrheit für den gewünschten Zustand Ihrer Anwendungen und Clusterkonfigurationen. Dieser Ansatz bietet mehrere Vorteile:

  • Kontinuierliche Synchronisierung: Argo CD wird nativ innerhalb Ihres Clusters ausgeführt und ruft Manifeste, Helm-Charts oder Kustomize-Konfigurationen direkt aus Git ab.
  • Drifterkennung und -behebung: Das System überwacht ständig den Live-Zustand des Clusters gegen den gewünschten Zustand in Git. Es erkennt sofort jede Abweichung und gleicht sie basierend auf Ihren spezifischen Automatisierungsrichtlinien aus.
  • Security-First-Pull-Modell: Im Gegensatz zu traditionellen CI/CD verwendet Argo CD eine reine Pull-Architektur. Da der Cluster die Verbindung initiiert, müssen Sie keine eingehenden Firewallports öffnen oder Git-Repositorys Netzwerkzugriff auf Ihre privaten Cluster gewähren. Diese Architektur macht Argo CD ideal für Hochsicherheitsumgebungen, Edge Computing und massive Hybrid-Cloud-Skalierungen. 

Argo CD Cluster Erweiterung

Um die Verwaltung zu optimieren, bietet Azure Argo CD als verwaltete Clustererweiterung (Microsoft.KubernetesConfiguration/extensions/microsoft.argocd). Um Anwendungen über GitOps zu verwalten, stellen Sie die Argo CD-Erweiterung auf Ihrem Cluster bereit.

Verwaltete Komponenten und Controller

Die Argo CD-Erweiterung verwaltet und paketiert die Kernkomponenten, die für unternehmensgerechte GitOps erforderlich sind.

Komponentenname Kubernetes-Dienstname Primäre Verantwortung
Anwendungscontroller argocd-application-controller Überwacht kontinuierlich die Ausführung von Anwendungen und vergleicht den Livestatus mit dem gewünschten Zielzustand in Git.
API-Server argocd-server Fungiert als gRPC/REST-Server, der die API verfügbar macht, die von web-UI-, CLI- und externen CI/CD-Systemen verwendet wird.
Repositoryserver argocd-repo-server Verwaltet einen lokalen Cache von Git-Repositorys und ist für das Generieren von Kubernetes-Manifesten aus der Quelle (Helm, Kustomize usw.) verantwortlich.
Redis argocd-redis Stellt einen kurzlebigen speicherinternen Datenspeicher bereit, der zum Zwischenspeichern von Ergebnissen der Manifestgenerierung und zum Anwendungsstatus verwendet wird.
Dex und Benachrichtigungen argocd-dex-server Ein Open-Source OpenID Connect-Anbieter, der die Identität von externen Anbietern wie GitHub, SAML oder LDAP vermittelt.
Benachrichtigungscontroller argocd-notifications-controller Überwacht Anwendungsstatusänderungen und löst Warnungen für externe Dienste wie Slack, E-Mail oder Webhooks aus.
ApplicationSet-Controller argocd-applicationset-controller Automatisiert die Erstellung mehrerer Anwendungen über mehrere Cluster hinweg.

Argo CD-Konstrukte

Nachdem Sie die Argo CD-Erweiterung auf Ihrem Cluster bereitgestellt haben, können Sie Ihre Workloads mithilfe von Argo CD-Konstrukten verwalten, z. B.:

  • Anwendung und ApplicationSet: Definieren Sie einzelne Anwendungen für Einzelzielbereitstellungen oder nutzen Sie ApplicationSets, um die Erstellung mehrerer Anwendungen über verschiedene Cluster und Umgebungen basierend auf Vorlagen zu automatisieren.

  • Verwaltungsschnittstellen: Verwalten und Überwachen von Ressourcen über die Argo CD Web UI für eine visuelle Darstellung der Clusterintegrität oder mithilfe der Argo CD CLI für terminalbasierte Vorgänge und Automatisierung.

Weitere Informationen finden Sie in der Argo CD-Dokumentation.

Identität und Zugriff

Um die Sicherheitsanforderungen des Unternehmens zu erfüllen, ist die Argo CD-Erweiterung in Azure Identity für AKS- und Azure Arc-fähige Kubernetes-Cluster integriert.

Die Erweiterung unterstützt den Workload-Identitätsverbund, mit dem Argo CD sicher auf Azure-Ressourcen wie Azure Container Registry (ACR) und Azure DevOps zugreifen kann, ohne sich auf langlebige geheime Schlüssel zu verlassen. Die Argo CD-Erweiterung unterstützt auch einmaliges Anmelden (Single Sign-On, SSO) mithilfe der Microsoft Entra ID, mit der Benutzer sich bei Argo CD mithilfe ihrer vorhandenen Unternehmensidentitäten authentifizieren können. Mit diesem Modell steuert Azure die Anmeldeinformationen und Zugriffsrichtlinien zentral, anstatt sie direkt in die Clusterkonfiguration oder Git-Repositorys einzubetten.

Nächste Schritte