Afficher l'état de Config Sync à l'aide de la gcloud CLI

Cette page explique comment surveiller Config Sync à l'aide des commandes Google Cloud CLI:

  • Utilisez gcloud alpha anthos config sync repo pour répertorier l'état de vos dépôts sur plusieurs clusters.

  • Utilisez gcloud alpha anthos config sync resources pour afficher les ressources gérées par Config Sync.

Vous pouvez également afficher des informations similaires dans le tableau de bord Config Sync.

Avant de commencer

Avant d'utiliser les commandes de cette page, procédez comme suit:

  1. Mettez à jour les composants de la Google Cloud CLI :

    gcloud components update
    
  2. Si ce n'est pas déjà fait, enregistrez vos clusters. Si vous avez installé et configuré Config Sync via la console Google Cloud, vous pouvez ignorer cette étape.

  3. Si votre cluster n'est pas un cluster GKE, les administrateurs de la plate-forme doivent configurer une passerelle Connect pour le cluster enregistré.

  4. Définissez votre projet:

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet dans lequel Config Sync est configuré et exécuté.

Afficher l'état de Config Sync sur plusieurs clusters

Si vous installez et configurez Config Sync sur plusieurs clusters enregistrés dans un projet, vous pouvez utiliser gcloud alpha anthos config sync repo pour répertorier l'état du dépôt en cours de synchronisation sur les clusters et résoudre les problèmes avec Config Sync.

Par rapport à nomos status, gcloud alpha anthos config sync repo regroupe l'état par dépôt, tandis que la commande nomos status regroupe l'état par cluster.

Répertorier tous les dépôts

Pour répertorier tous les états des dépôts Git synchronisés avec les clusters enregistrés dans le projet actuel, exécutez la commande suivante:

gcloud alpha anthos config sync repo list

Le résultat ressemble à ce qui suit :

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│                       SOURCE                                    │ TOTAL │ SYNCED │ PENDING │ ERROR │ STALLED │ RECONCILING │
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
│ https://source.developers.google.com/p/test/r/test//@main       │ 2     │ 2      │ 0       │ 0     │ 0       │ 0           │
│ https://source.developers.google.com/p/test/r/dev//@main        │ 2     │ 1      │ 0       │ 0     │ 1       │ 0           │
│ https://source.developers.google.com/p/test/r/staging//@main    │ 1     │ 0      │ 0       │ 1     │ 0       │ 0           │
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘

Pour chaque dépôt, vous pouvez voir l'état correspondant sur l'ensemble des clusters:

  • TOTAL est le nombre de clusters avec lesquels le dépôt est synchronisé.
  • SYNCED est le nombre de clusters avec lesquels ce dépôt est synchronisé avec succès.
  • PENDING est le nombre de clusters dans lesquels ce dépôt est en attente de synchronisation.
  • ERROR est le nombre de clusters dans lesquels ce dépôt rencontre une erreur lors de la synchronisation.
  • STALLED est le nombre de clusters dans lesquels le déploiement qui synchronise ce dépôt est bloqué.
  • RECONCILING est le nombre de clusters sur lesquels le déploiement qui synchronise ce dépôt est rapproché.

Répertorier les dépôts avec un état spécifique

Vous pouvez également répertorier les dépôts avec un état spécifique à l'aide de l'option --status. Les valeurs acceptées sont synced, pending, error, stalled et reconciling.

Par exemple, répertoriez les dépôts qui comportent des erreurs en exécutant la commande suivante:

gcloud alpha anthos config sync repo list --status=error

Le résultat ressemble à ce qui suit :

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│                       SOURCE                                    │ TOTAL │ SYNCED │ PENDING │ ERROR │ STALLED │ RECONCILING │
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
│ https://source.developers.google.com/p/test/r/staging//@main    │ 1     │ 0      │ 0       │ 1     │ 0       │ 0           │
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘

Décrire un dépôt

Utilisez la commande "describe" pour afficher les détails de l'état de votre dépôt:

   gcloud alpha anthos config sync repo describe \
     --source URL

Remplacez URL par une URL du résultat de la commande repo list décrite dans la section précédente.

Vous pouvez également utiliser --namespace et --name pour spécifier le dépôt que vous souhaitez décrire.

   gcloud alpha anthos config sync repo describe \
     --sync-namespace config-management-system --sync-name root-sync

Par défaut, la commande affiche l'état du dépôt ainsi que toutes les ressources gérées appliquées, mais ayant échoué au rapprochement. Exemple :

   [
     {
       "clusters": [
         "cluster-1",
         "cluster-2",
       ],
       "commit": "32293c90a63efba3121c7648048fcd3e85043a34",
       "errors": [],
       "source": "https://source.developers.google.com/p/test/r/test//@main",
       "status": "SYNCED"
     }
   ]

Vous pouvez également utiliser l'option --managed-resources pour contrôler les ressources gérées à afficher. Les valeurs acceptées sont all, current, inprogress, notfound, failed (par défaut) ou unknown. Vous pouvez exécuter la commande suivante pour afficher toutes les ressources gérées :

   gcloud alpha anthos config sync repo describe \
     --namespace config-management-system --name root-sync \
     --managed-resources all

Le résultat ressemble à ce qui suit :

   [
     {
       "clusters": [
         "cluster-1",
         "cluster-2",
       ],
       "commit": "32293c90a63efba3121c7648048fcd3e85043a34",
       "errors": [],
       "source": "https://source.developers.google.com/p/test/r/test//@main",
       "status": "SYNCED"
     }
   ]
   ┌────────────────────────────────────────────────────────────────┐
   │                       managed_resources                        │
   ├───────┬───────────┬─────────┬───────────┬─────────┬────────────┤
   │ GROUP │    KIND   │   NAME  │ NAMESPACE │  STATUS │ CONDITIONS │
   ├───────┼───────────┼─────────┼───────────┼─────────┼────────────┤
   │       │ Namespace │ default │           │ Current │            │
   │       │ ConfigMap │ foo     │ default   │ Current │            │
   └───────┴───────────┴─────────┴───────────┴─────────┴────────────┘

Afficher les ressources gérées par Config Sync

Vous pouvez utiliser gcloud alpha anthos config sync resources pour filtrer les ressources gérées par cluster, groupe, genre, espace de noms, nom, état ou une combinaison de ces attributs.

Répertorier toutes les ressources gérées

   gcloud alpha anthos config sync resources list

Cette commande répertorie toutes les ressources gérées qui sont synchronisées avec tous les clusters enregistrés dans le projet actuel. Le résultat ressemble à ce qui suit :

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    CLUSTER_NAME   │           GROUP           │           KIND           │    NAMESPACE     │                    NAME                   │  STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1         │                           │ Namespace                │                  │ default                                   │ Current │           │
│ cluster-1         │ rbac.authorization.k8s.io │ RoleBinding              │ default          │ viewers                                   │ Current │           │
│ cluster-2         │                           │ Namespace                │                  │ gamestore                                 │ Current │           │
│ cluster-2         │ rbac.authorization.k8s.io │ RoleBinding              │ gamestore        │ gamestore-admin                           │ Current │           │
│ cluster-2         │ rbac.authorization.k8s.io │ RoleBinding              │ gamestore        │ gamestore-webstore-admin                  │ Current │           │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘

Chaque ligne de la sortie décrit la ressource gérée et l'état correspondant:

  • CLUSTER_NAME est le nom du cluster dont provient la ressource gérée.
  • GROUP est l'attribut de groupe de la ressource gérée.
  • KIND est l'attribut de genre de la ressource gérée.
  • NAMESPACE est l'espace de noms de la ressource gérée.
  • NAME est le nom de la ressource gérée.
  • STATUS est l'état de rapprochement de la ressource gérée. Vous trouverez la liste des états possibles dans la documentation Kubernetes Sig.
  • CONDITION est le message expliquant l'état de la ressource gérée.

Répertorier les ressources gérées à partir d'un seul cluster

Vous pouvez afficher les ressources gérées par cluster en utilisant une commande gcloud ou en les affichant dans la console Google Cloud.

Vous pouvez répertorier les ressources gérées d'un cluster spécifique à l'aide de l'option --cluster. Par exemple, répertoriez les ressources gérées du cluster nommé cluster-1 à l'aide de la commande suivante:

gcloud alpha anthos config sync resources list --cluster=cluster-1

Le résultat ressemble à ce qui suit :

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    CLUSTER_NAME   │           GROUP           │           KIND           │    NAMESPACE     │                    NAME                   │  STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1         │                           │ Namespace                │                  │ default                                   │ Current │           │
│ cluster-1         │ rbac.authorization.k8s.io │ RoleBinding              │ default          │ viewers                                   │ Current │           │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘

Étapes suivantes