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:
Atualize os componentes da CLI do Google Cloud:
gcloud components update
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.
Se o cluster não for do GKE, os administradores da plataforma precisam configurar o Gateway de conexão para o cluster registrado.
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
- Saiba como usar a ferramenta de linha de comando nomos para monitorar o Config Sync.
- Saiba como monitorar o Config Sync com métricas.