Consulta el estado del Sincronizador de configuración con 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 CLI de Google Cloud:

    gcloud components update
    
  2. Si no lo hiciste, registra los clústeres. 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 clúster 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 está sincronizando entre clústeres y depurar problemas con el 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.

Enumerar todos los repositorios

Para obtener una lista de todos los estados 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 al siguiente:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│                       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 de forma correcta.
  • 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 encuentra algún error durante la sincronización.
  • STALLED es la cantidad de clústeres en los que se detiene el objeto Deployment que sincroniza este repositorio.
  • RECONCILING es la cantidad de clústeres en los que se está conciliando el objeto Deployment que sincroniza este repositorio.

Muestra una lista de 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, genera una lista de los repositorios que tienen errores mediante la ejecución del siguiente comando:

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

El resultado es similar al siguiente:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
│                       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 del estado de tu repositorio:

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

Reemplaza URL por una URL del resultado del comando repo list descrito 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 los recursos administrados que se aplicaron, pero que fallaron en la conciliación. 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 valor 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 al siguiente:

   [
     {
       "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 al siguiente:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    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 describe 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 tipo de atributo 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 mediante un comando de gcloud o si lo visualizas en la consola de Google Cloud.

Puedes enumerar los recursos administrados de un clúster específico con la marca --cluster. Por ejemplo, genera una lista de los recursos administrados desde el 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 al siguiente:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    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?