Consulta el estado del Sincronizador de configuración con la gcloud CLI

En esta página, se explica cómo usar los comandos de Google Cloud CLI para supervisar el Sincronizador de configuración:

  • Usa gcloud alpha anthos config sync repo para enumerar el estado de tus repositorios en varios clústeres.

  • Usa gcloud alpha anthos config sync resources para ver los recursos que administra el Sincronizador de configuración.

También puedes ver información similar en el panel del Sincronizador de configuración.

Antes de comenzar

Antes de usar los comandos de esta página, completa los siguientes pasos:

  1. Actualiza los componentes de la Google Cloud CLI:

    gcloud components update
    
  2. Registra tus clústeres si aún no lo hiciste. Si instalaste y configuraste el Sincronizador de configuración a través de la consola de Google Cloud, puedes omitir este paso.

  3. Si tu clúster no es de GKE, los administradores de la plataforma deben configurar Connect Gateway para el clúster registrado.

  4. Configura tu proyecto:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto en el que el Sincronizador de configuración está configurado y en ejecución.

Visualiza el estado del Sincronizador de configuración en varios clústeres

Si instalas y configuras el Sincronizador de configuración en varios clústeres registrados en un proyecto, puedes usar gcloud alpha anthos config sync repo para enumerar el estado del repositorio que se sincroniza entre clústeres y depurar problemas del Sincronizador de configuración.

En comparación con nomos status, gcloud alpha anthos config sync repo agrupa el estado por repositorio, mientras que el comando nomos status agrupa el estado por clúster.

Enumera todos los repositorios

Para enumerar todo el estado de los repositorios de Git que se sincronizan con cualquier clúster registrado en el proyecto actual, ejecuta el siguiente comando:

gcloud alpha anthos config sync repo list

El resultado es similar a este:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
                       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           
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘

Para cada repositorio, puedes ver el estado correspondiente en todos los clústeres:

  • TOTAL es la cantidad de clústeres con los que se sincroniza el repositorio.
  • SYNCED es la cantidad de clústeres en los que este repositorio se sincroniza correctamente.
  • PENDING es la cantidad de clústeres en los que este repositorio está pendiente de sincronización.
  • ERROR es la cantidad de clústeres en los que este repositorio experimenta algún error durante la sincronización.
  • STALLED es la cantidad de clústeres en los que se detiene la implementación que sincroniza este repositorio.
  • RECONCILING es la cantidad de clústeres en los que se concilia la implementación que sincroniza este repositorio.

Enumera los repositorios con un estado específico

También puedes enumerar los repositorios con un estado específico mediante la marca --status. Los valores admitidos son synced, pending, error, stalled y reconciling.

Por ejemplo, ejecuta el siguiente comando para enumerar los repositorios que tienen errores:

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

El resultado es similar a este:

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

Describe un repositorio

Usa el comando describe para ver los detalles sobre el estado de tu repositorio:

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

Reemplaza URL por una URL del resultado del comando repo list que se describió en la sección anterior.

También puedes usar --namespace y --name para especificar el repositorio que deseas describir.

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

De forma predeterminada, el comando imprime el estado del repositorio y cualquier recurso administrado que se haya aplicado, pero que no se haya conciliado. Por ejemplo:

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

También puedes usar la marca --managed-resources para controlar los recursos administrados que deseas ver. Los valores admitidos son all, current, inprogress, notfound, failed (el predeterminado) o unknown. Puedes usar el siguiente comando para ver todos los recursos administrados:

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

El resultado es similar a este:

   [
     {
       "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             
   └───────┴───────────┴─────────┴───────────┴─────────┴────────────┘

Consulta los recursos administrados del Sincronizador de configuración

Puedes usar gcloud alpha anthos config sync resources para filtrar los recursos administrados por clúster, grupo, tipo, espacio de nombres, nombre, estado o una combinación de estos atributos.

Enumera todos los recursos administrados

   gcloud alpha anthos config sync resources list

Este comando enumera todos los recursos administrados que se sincronizan con cualquier clúster registrado en el proyecto actual. El resultado es similar a este:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    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 │           │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘

Cada fila del resultado describió el recurso administrado y su estado correspondiente:

  • CLUSTER_NAME es el nombre del clúster del que proviene el recurso administrado.
  • GROUP es el atributo de grupo del recurso administrado.
  • KIND es el atributo de tipo del recurso administrado.
  • NAMESPACE es el espacio de nombres del recurso administrado.
  • NAME es el nombre del recurso administrado.
  • STATUS es el estado de conciliación del recurso administrado. Puedes encontrar la lista de estados posibles en la documentación de Kubernetes Sig.
  • CONDITION es el mensaje que explica el estado del recurso administrado.

Enumera recursos administrados desde un solo clúster

Puedes ver los recursos administrados por clúster con un comando gcloud o en la consola de Google Cloud.

También puedes enumerar los recursos administrados desde un clúster específico con la marca --cluster. Por ejemplo, enumera los recursos administrados del clúster con el nombre cluster-1 con el siguiente comando:

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

El resultado es similar a este:

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

¿Qué sigue?