Activez GitOps, connectez un dépôt Git et déployez votre première application sur un cluster cible.
À l'issue de ce guide, vous aurez :
Activé l'accès public à la console Argo CD
Connecté un dépôt Git à Argo CD
Déployé une application sur un cluster cible
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé la gestion de flotte.
Associé plusieurs clusters à l'instance de flotte.
Accordé l'autorisation **AliyunAdcpFullAccess** à votre utilisateur RAM.
(CLI uniquement) Téléchargé le kubeconfig de l'instance de flotte depuis la console ACK One et configuré kubectl pour se connecter à la flotte.
(CLI uniquement) Installé la dernière version de Cloud Assistant CLI et configuré celle-ci.
Facturation
L'activation de GitOps crée les ressources facturables suivantes :
Une instance SLB pour exposer les points de terminaison de l'API et de l'interface utilisateur d'Argo CD
Une instance ECI à la demande dotée de 2 vCPU et de 4 Go de mémoire pour le service Argo CD
Consultez la section Facturation des ressources cloud pour les flottes multi-clusters.
Régions prises en charge
GitOps est pris en charge dans toutes les régions qui prennent en charge les flottes multi-clusters et les clusters de workflow.
Étape 1 : Activer l'accès public à la console GitOps
GitOps est activé par défaut avec les instances de flotte ACK One, mais la console Argo CD n'est accessible qu'au sein d'un Virtual Private Cloud (VPC). Activez l'accès public pour gérer les applications via Internet.
L'activation de l'accès public introduit des risques de sécurité. Configurez toujours une liste de contrôle d'accès (ACL) pour restreindre l'accès aux adresses IP ou aux blocs CIDR approuvés.
Utilisation de la console
Connectez-vous à la console ACK One. Dans le volet de navigation de gauche, sélectionnez Fleet > Multi-cluster Applications.
Sur la page Multi-cluster GitOps, cliquez sur l'icône
située à côté du nom de la flotte, puis sélectionnez votre flotte.Si GitOps n'est pas activé, cliquez sur Enable GitOps, puis sur OK. Si GitOps est déjà activé, le bouton GitOps Console est visible.
Cliquez sur Enable à côté de Public Access. Dans la boîte de dialogue Enable Public Access, saisissez les adresses IP ou les blocs CIDR pour la liste d'autorisation, puis cliquez sur OK.
Une fois la flotte mise à jour, cliquez sur GitOps Console pour ouvrir la console Argo CD.
Utilisation de Cloud Assistant CLI
Activez GitOps et l'accès public simultanément. Remplacez <your_clusterid> par l'ID de votre instance de flotte et la valeur AccessControlList par vos blocs CIDR approuvés.
Consultez la section Activer l'accès public à Argo CD pour plus de détails sur les blocs CIDR.
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true
Si vous utilisez l'AccessKey d'un utilisateur RAM, accordez d'abord l'autorisation AliyunAdcpFullAccess à cet utilisateur. Consultez la rubrique Accorder des autorisations à un utilisateur RAM .
Étape 2 : Déployer une application sur un cluster cible
Connectez un dépôt Git et déployez une application à l'aide de l'exemple gitops-demo. Utilisez l'interface utilisateur d'Argo CD ou la CLI.
Déploiement via l'interface utilisateur d'Argo CD
Connexion à Argo CD
Sur la page Multi-cluster GitOps, cliquez sur GitOps Console. Sur la page de connexion, cliquez sur LOG IN VIA ALIYUN pour vous connecter avec votre compte Alibaba Cloud via SSO.
Connexion d'un dépôt
Dans le volet de navigation de gauche, cliquez sur Settings, puis sélectionnez Repositories > + Connect Repo.
-
Configurez les paramètres suivants et cliquez sur CONNECT. En cas de succès, CONNECTION STATUS indique Successful.
Zone Paramètre Valeur Choose your connection method — VIA HTTP/HTTPS CONNECT REPO USING HTTP/HTTPS Type git Project default Repository URL https://github.com/AliyunContainerService/gitops-demo.gitSkip server verification Cochez cette case 

Création d'une application
Dans le volet de navigation de gauche, sélectionnez Applications, puis cliquez sur + NEW APP.
-
Configurez les paramètres suivants et cliquez sur CREATE.
Zone Paramètre Valeur GENERAL Application Name echo-server-demoProject Name default SYNC POLICY — Sélectionnez Automatic. Argo CD vérifie le dépôt toutes les 3 minutes et déploie automatiquement les modifications. Avec Manual, cliquez sur SYNC pour déclencher le déploiement. SYNC OPTIONS — Sélectionnez AUTO-CREATE NAMESPACE SOURCE Repository URL Sélectionnez https://github.com/AliyunContainerService/gitops-demo.gitRevision HEAD Path manifests/helm/echo-serverDESTINATION Cluster URL Sélectionnez votre cluster cible Namespace echo-server-demoHELM VALUES FILES values.yaml -
Sur la page Applications, vérifiez que l'application
echo-server-demoaffiche Status: Healthy et Synced. Si vous avez défini SYNC POLICY sur Manual, cliquez sur SYNC pour déclencher le déploiement.
-
Cliquez sur le nom de l'application pour afficher la topologie et l'état de ses ressources Kubernetes.

Déploiement via la CLI Argo CD
Connexion à Argo CD
Téléchargez et installez Argo CD CLI v2.8.7.
-
Récupérez le mot de passe administrateur initial de l'instance de flotte :
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d -
Connectez-vous en utilisant le transfert de port. Le nom d'utilisateur par défaut est
admin.export ARGOCD_OPTS='--port-forward-namespace argocd --port-forward' argocd login Username: admin Password:Sortie attendue :
'admin:login' logged in successfully Context 'port-forward' updated -
Mettez à jour le mot de passe par défaut de
admin:argocd account update-password *** Enter password of currently logged in user (admin): *** Enter new password for user admin: *** Confirm new password for user admin:Sortie attendue :
Password updated Context 'port-forward' updated
Connexion d'un dépôt
-
Ajoutez le dépôt Git :
argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-serverSortie attendue :
Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added -
Vérifiez que le dépôt a été ajouté :
argocd repo listSortie attendue :
TYPE NAME REPO INSECURE OCI LFS CREDS STATUS MESSAGE PROJECT git https://github.com/AliyunContainerService/gitops-demo.git false false false false Successful default -
Répertoriez les clusters disponibles. La sortie affiche tous les clusters associés à l'instance de flotte.
argocd cluster listSortie attendue :
SERVER NAME VERSION STATUS MESSAGE PROJECT https://47.97.XX.XX:6443 c83f3cbc90a****-temp02 1.22+ Successful https://kubernetes.default.svc in-cluster Unknown Cluster has no applications and is not being monitored.Notez l'URL du serveur de votre cluster cible pour l'étape suivante.
Création et synchronisation d'une application
-
Créez l'application. Remplacez
https://47.97.XX.XX:6443par l'URL du serveur de votre cluster cible.argocd app create echo-server --repo https://github.com/AliyunContainerService/gitops-demo.git --path manifests/helm --dest-namespace echo-server-cli --dest-server https://47.97.XX.XX:6443Sortie attendue :
application 'echo-server' created -
Synchronisez l'application avec le cluster cible :
argocd app sync echo-serverSortie attendue :
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server OutOfSync Missing 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server OutOfSync Missing 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server Synced Progressing 2022-09-22T14:32:45+08:00 Service echo-server-cli echo-server Synced Progressing service/echo-server created 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server OutOfSync Missing deployment.apps/echo-server created 2022-09-22T14:32:45+08:00 apps Deployment echo-server-cli echo-server Synced Progressing deployment.apps/echo-server created Name: echo-server Project: default Server: https://47.97.XX.XX:6443 Namespace: echo-server-cli URL: https://127.0.0.1:52742/applications/echo-server Repo: https://github.com/AliyunContainerService/gitops-demo.git Target: Path: manifests/helm SyncWindow: Sync Allowed Sync Policy: <none> Sync Status: Synced to (e5c2618) Health Status: Progressing Operation: Sync Sync Revision: e5c261880a4072cdbfa5173add2be426f7f3**** Phase: Succeeded Start: 2022-09-22 14:32:44 +0800 CST Finished: 2022-09-22 14:32:45 +0800 CST Duration: 1s Message: successfully synced (all tasks run) GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE Service echo-server-cli echo-server Synced Progressing service/echo-server created apps Deployment echo-server-cli echo-server Synced Progressing deployment.apps/echo-server created -
Confirmez que l'application est en cours d'exécution :
argocd app listSortie attendue :
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET echo-server https://47.97.XX.XX:6443 echo-server-cli default Synced Healthy <none> <none> https://github.com/AliyunContainerService/gitops-demo.git manifests/helmL'application est déployée lorsque STATUS est Synced et HEALTH est Healthy.
Opérations supplémentaires
Utilisez ces opérations pour maintenir votre configuration GitOps.
Configuration du ConfigMap Argo CD
Sur la page Multi-cluster GitOps, recherchez Argo CD ConfigMap dans la section repliée GitOps.
Cliquez sur Configure à côté de Argo CD ConfigMap.
Sur la page Argo CD ConfigMap Settings, sélectionnez un élément de configuration dans la liste déroulante Select Configuration Item et modifiez-le dans l'éditeur de code Modify Configurations. Consultez la section Éléments de configuration courants pour connaître les politiques de redémarrage.
Redémarrage des composants Argo CD
Sur la page Multi-cluster GitOps, recherchez Argo CD Component dans la section repliée GitOps.
Cliquez sur Restart à côté de Argo CD Components.
Sélectionnez le composant dans la liste déroulante Select Application to Restart (par exemple, argocd-server), puis cliquez sur OK.
Désactivation de GitOps
Supprimez toutes les applications avant de désactiver GitOps. Désactivez GitOps avant de supprimer une instance de flotte ACK One.
Utilisation de la console :
Connectez-vous à la console ACK One. Dans le volet de navigation de gauche, sélectionnez Fleet > Multi-cluster Applications.
Sur la page Multi-cluster GitOps, cliquez sur l'icône
et sélectionnez votre flotte.Cliquez sur Disable GitOps, puis sur OK.
Utilisation de Cloud Assistant CLI :
aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false
Étapes suivantes
Activer l'accès public à Argo CD — configurer des paramètres de contrôle d'accès supplémentaires
Éléments de configuration courants — personnaliser le comportement d'Argo CD avec les paramètres ConfigMap
Facturation des ressources cloud pour les flottes multi-clusters — consulter les coûts des ressources GitOps