Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si usa Argo CD per GitOps nel servizio Azure Kubernetes e nei cluster Kubernetes abilitati per Azure Arc, il repository Git diventa l'origine della verità per lo stato desiderato delle applicazioni e delle configurazioni del cluster. Questo approccio offre diversi vantaggi:
- Sincronizzazione continua: Argo CD viene eseguito in modo nativo all'interno del cluster, estraendo manifesti, grafici Helm o configurazioni Kustomize direttamente da Git.
- Rilevamento e correzione della deriva: il sistema monitora costantemente lo stato attivo del cluster rispetto allo stato desiderato in Git. Rileva immediatamente eventuali deviazioni e la riconcilia in base ai criteri di automazione specifici.
- Modello di pull orientato alla sicurezza: a differenza del CI/CD tradizionale, Argo CD usa un'architettura pura basata su pull. Poiché il cluster avvia la connessione, non è necessario aprire le porte del firewall in ingresso o concedere ai repository Git l'accesso alla rete ai cluster privati. Questa architettura rende Argo CD ideale per ambienti a sicurezza elevata, edge computing e enormi scalabilità cloud ibride.
Estensione del cluster Argo CD
Per semplificare la gestione, Azure fornisce Argo CD come estensione del cluster gestito (Microsoft.KubernetesConfiguration/extensions/microsoft.argocd). Per gestire le applicazioni tramite GitOps, distribuire l'estensione Argo CD nel cluster.
Componenti gestiti e controller
L'estensione Argo CD gestisce i pacchetti e i componenti di base necessari per GitOps di livello aziendale.
| Nome componente | Nome del servizio Kubernetes | Responsabilità primaria |
|---|---|---|
| Controller dell'applicazione | argocd-application-controller |
Monitora continuamente le applicazioni in esecuzione e confronta lo stato attivo con lo stato di destinazione desiderato in Git. |
| Server API | argocd-server |
Funge da server gRPC/REST che espone l'API usata dall'interfaccia utente Web, dall'interfaccia della riga di comando e dai sistemi CI/CD esterni. |
| Server repository | argocd-repo-server |
Gestisce una cache locale di repository Git ed è responsabile della generazione di manifesti Kubernetes dall'origine (Helm, Kustomize e così via). |
| Redis | argocd-redis |
Fornisce un archivio dati temporaneo in memoria usato per memorizzare nella cache i risultati della generazione del manifesto e lo stato dell'applicazione. |
| Dex e notifiche | argocd-dex-server |
Provider OpenID Connect open source che gestisce le identità da provider esterni come GitHub, SAML o LDAP. |
| Controllore delle notifiche | argocd-notifications-controller |
Monitora le modifiche dello stato dell'applicazione e attiva avvisi a servizi esterni come Slack, Posta elettronica o Webhook. |
| Controller di ApplicationSet | argocd-applicationset-controller |
Automatizza la creazione di più applicazioni in più cluster. |
Costrutti di Argo CD
Dopo aver distribuito l'estensione Argo CD nel cluster, è possibile gestire i carichi di lavoro usando costrutti di Argo CD, ad esempio:
Application e ApplicationSet: definire singole applicazioni per distribuzioni a destinazione singola o usare ApplicationSets per automatizzare la creazione di più applicazioni in cluster e ambienti diversi in base ai modelli.
Interfacce di gestione: gestire e monitorare le risorse tramite l'interfaccia utente Web di Argo CD per una rappresentazione visiva dell'integrità del cluster o usando l'interfaccia della riga di comando di Argo CD per operazioni e automazione basate su terminale.
Per altre informazioni, vedere la documentazione di Argo CD.
Identità e accesso
Per allinearsi ai requisiti di sicurezza aziendali, l'estensione Argo CD si integra con l'identità di Azure sia per i cluster AKS che per quelli Kubernetes abilitati per Azure Arc.
L'estensione supporta la federazione delle identità del carico di lavoro, che consente a Argo CD di accedere in modo sicuro alle risorse di Azure, ad esempio Registro Azure Container (ACR) e Azure DevOps senza basarsi su segreti di lunga durata. L'estensione Argo CD supporta anche l'accesso Single Sign-On (SSO) usando Microsoft Entra ID, che consente agli utenti di eseguire l'autenticazione a Argo CD usando le identità aziendali esistenti. Usando questo modello, Azure regola centralmente le credenziali e i criteri di accesso, invece di incorporarli direttamente nella configurazione del cluster o nei repository Git.
Passaggi successivi
- Informazioni su come distribuire l'estensione Argo CD e gestire le applicazioni usando GitOps nell'esercitazione su GitOps di Argo CD.