Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Get started with GitOps

Dernière mise à jour :Aug 11, 2026

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 :

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.

Important

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

  1. Connectez-vous à la console ACK One. Dans le volet de navigation de gauche, sélectionnez Fleet > Multi-cluster Applications.

  2. Sur la page Multi-cluster GitOps, cliquez sur l'icône Dingtalk_20231226104633.jpg située à côté du nom de la flotte, puis sélectionnez votre flotte.

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

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

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

  1. Dans le volet de navigation de gauche, cliquez sur Settings, puis sélectionnez Repositories > + Connect Repo.

  2. 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.git
    Skip server verification Cochez cette case

    image.png

    image.png

Création d'une application

  1. Dans le volet de navigation de gauche, sélectionnez Applications, puis cliquez sur + NEW APP.

  2. Configurez les paramètres suivants et cliquez sur CREATE.

    Zone Paramètre Valeur
    GENERAL Application Name echo-server-demo
    Project 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.git
    Revision HEAD
    Path manifests/helm/echo-server
    DESTINATION Cluster URL Sélectionnez votre cluster cible
    Namespace echo-server-demo
    HELM VALUES FILES values.yaml
  3. Sur la page Applications, vérifiez que l'application echo-server-demo affiche Status: Healthy et Synced. Si vous avez défini SYNC POLICY sur Manual, cliquez sur SYNC pour déclencher le déploiement.

    image.png

  4. Cliquez sur le nom de l'application pour afficher la topologie et l'état de ses ressources Kubernetes.

    image.png

Déploiement via la CLI Argo CD

Connexion à Argo CD

  1. Téléchargez et installez Argo CD CLI v2.8.7.

  2. 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
  3. 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
  4. 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

  1. Ajoutez le dépôt Git :

    argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-server

    Sortie attendue :

    Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added
  2. Vérifiez que le dépôt a été ajouté :

    argocd repo list

    Sortie 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
  3. Répertoriez les clusters disponibles. La sortie affiche tous les clusters associés à l'instance de flotte.

    argocd cluster list

    Sortie 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

  1. Créez l'application. Remplacez https://47.97.XX.XX:6443 par 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:6443

    Sortie attendue :

    application 'echo-server' created
  2. Synchronisez l'application avec le cluster cible :

    argocd app sync echo-server

    Sortie 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
  3. Confirmez que l'application est en cours d'exécution :

    argocd app list

    Sortie 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/helm

    L'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

  1. Sur la page Multi-cluster GitOps, recherchez Argo CD ConfigMap dans la section repliée GitOps.

  2. Cliquez sur Configure à côté de Argo CD ConfigMap.

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

  1. Sur la page Multi-cluster GitOps, recherchez Argo CD Component dans la section repliée GitOps.

  2. Cliquez sur Restart à côté de Argo CD Components.

  3. 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 :

  1. Connectez-vous à la console ACK One. Dans le volet de navigation de gauche, sélectionnez Fleet > Multi-cluster Applications.

  2. Sur la page Multi-cluster GitOps, cliquez sur l'icône Dingtalk_20231226104633.jpg et sélectionnez votre flotte.

  3. Cliquez sur Disable GitOps, puis sur OK.

Utilisation de Cloud Assistant CLI :

aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false

Étapes suivantes