Ver o status do Config Sync com a CLI gcloud

Nesta página, explicamos como usar os comandos da CLI do Google Cloud para monitorar o Config Sync:

  • Use gcloud alpha anthos config sync repo para listar o status dos repositórios em vários clusters.

  • Use gcloud alpha anthos config sync resources para visualizar os recursos gerenciados pelo Config Sync.

Também é possível ver informações semelhantes no painel do Config Sync.

Antes de começar

Antes de usar os comandos desta página, siga estas etapas:

  1. Atualize os componentes da CLI do Google Cloud:

    gcloud components update
    
  2. Registre os clusters se ainda não tiver feito isso. Se você instalou e configurou o Config Sync por meio do Console do Google Cloud, pule esta etapa.

  3. Se o cluster não for do GKE, os administradores da plataforma precisam configurar o Gateway de conexão para o cluster registrado.

  4. Definir o projeto:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto em que o Config Sync está configurado e em execução.

Visualizar o status do Config Sync em vários clusters

Se você instalar e configurar o Config Sync em vários clusters registrados em um projeto, use gcloud alpha anthos config sync repo para listar o status do repositório que está sendo sincronizado entre clusters e depurar problemas com o Config Sync.

Em comparação com nomos status, o status gcloud alpha anthos config sync repo é agrupado por repositório, enquanto o comando nomos status agrupa o status por cluster.

Listar todos os repositórios

Para listar todo o status dos repositórios Git sincronizados com qualquer cluster registrado no projeto, execute o seguinte comando:

gcloud alpha anthos config sync repo list

O resultado será assim:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
                       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 repositório, é possível ver o status correspondente nos clusters:

  • TOTAL é o número de clusters com que o repositório é sincronizado.
  • SYNCED é o número de clusters em que este repositório foi sincronizado.
  • PENDING é o número de clusters em que este repositório está pendente para sincronizar.
  • ERROR é o número de clusters em que esse repositório encontra algum erro durante a sincronização.
  • STALLED é o número de clusters em que a implantação que sincroniza este repositório está parada.
  • RECONCILING é o número de clusters em que a implantação que sincroniza este repositório está sendo reconciliada.

Listar repositórios com um status específico

Também é possível listar os repositórios com um status específico usando a sinalização --status. Os valores compatíveis são synced, pending, error, stalled e reconciling.

Por exemplo, liste os repositórios que têm erros executando o seguinte comando:

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

O resultado será assim:

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

Descrever um repositório

Use o comando de descrição para ver detalhes sobre o status do repositório:

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

Substitua URL por um URL da saída do comando repo list descrito na seção anterior.

Também é possível usar --namespace e --name para especificar o repositório que você quer descrever.

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

Por padrão, o comando imprime o status do repositório, bem como todos os recursos gerenciados que são aplicados, mas com falha na reconciliação. Por exemplo:

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

Também é possível usar a sinalização --managed-resources para controlar os recursos gerenciados que você quer visualizar. Os valores aceitos são all, current, inprogress, notfound, failed (o padrão) ou unknown. Use o seguinte comando para ver todos os recursos gerenciados:

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

O resultado será assim:

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

Ver recursos gerenciados do Config Sync

É possível usar gcloud alpha anthos config sync resources para filtrar os recursos gerenciados por cluster, grupo, tipo, namespace, nome, status ou uma combinação desses atributos.

Listar todos os recursos gerenciados

   gcloud alpha anthos config sync resources list

Esse comando lista todos os recursos gerenciados que são sincronizados com quaisquer clusters registrados no projeto atual. O resultado será assim:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    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 linha da saída descreveu o recurso gerenciado e o status correspondente:

  • CLUSTER_NAME é o nome do cluster da origem do recurso gerenciado.
  • GROUP é o atributo de grupo do recurso gerenciado.
  • KIND é o atributo de tipo do recurso gerenciado.
  • NAMESPACE é o namespace do recurso gerenciado.
  • NAME é o nome do recurso gerenciado.
  • STATUS é o status de reconciliação do recurso gerenciado. Você encontra a lista de status possíveis na documentação do Kubernetes Sig.
  • CONDITION é a mensagem que explica o status do recurso gerenciado.

Listar recursos gerenciados de um único cluster

É possível visualizar recursos gerenciados por cluster usando um comando gcloud ou visualizando-os no console do Google Cloud.

Também é possível listar os recursos gerenciados de um cluster específico usando a sinalização --cluster. Por exemplo, liste os recursos gerenciados do cluster com o nome cluster-1 com o seguinte comando:

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

O resultado será assim:

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

A seguir