É possível diagnosticar ou verificar clusters para depurar problemas e capturar um snapshot do estado dele. Além disso, se você tiver parcialmente concluído uma instalação, mas o cluster retornar erros ou não estiver funcionando corretamente, tente redefini-lo.
Como diagnosticar clusters com bmctl check cluster
É possível capturar o estado dos clusters criados com o comando bmctl check cluster
. As sinalizações do comando permitem que você escolha o
escopo de diagnóstico do comando para que seja possível conseguir informações focalizadas.
As informações de diagnóstico podem ajudar você a descobrir problemas e depurar suas implantações com mais eficiência. O comando captura todos os arquivos de configuração de cluster e nó relevantes para o escopo definido e empacota as informações em um único arquivo tar.
bmctl check cluster --snapshot --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
Esse comando gera um arquivo tar com informações de depuração relevantes de todos os componentes e máquinas do sistema no cluster especificado.
ADMIN_KUBECONFIG
especifica o caminho para o arquivo kubeconfig, e CLUSTER_NAME
especifica o nome do cluster.
É possível alterar o escopo das informações de diagnóstico coletadas com as seguintes sinalizações de comando:
- A sinalização
--snapshot-scenario all
aumenta o escopo do snapshot de diagnóstico para incluir todos os pods no cluster especificado:
bmctl check cluster --snapshot --snapshot-scenario all --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
- A sinalização
--snapshot-dry-run
funciona em conjunto com a sinalização--snapshot-config string
. Use a sinalização--snapshot-dry-run
para gerar um arquivo de configuração que pode ser modificado para definir um escopo de diagnóstico personalizado. O escopo pode incluir pods, namespaces ou comandos de nós específicos.
Depois de modificar o arquivo de saída criado com a sinalização --snapshot-dry-run
, é possível usá-lo
como entrada para diagnosticar o escopo específico com a
sinalização --snapshot-config string
, descrita abaixo. Se você omitir essa sinalização, uma configuração padrão será aplicada.
bmctl check cluster --snapshot --snapshot-dry-run --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
- A sinalização
--snapshot-config
instrui o comandobmctl
a usar as opções de escopo especificadas em um arquivo de configuração do snapshot. Geralmente, você cria o arquivo de configuração do snapshot com a sinalização--snapshot-dry-run
.
bmctl check cluster --snapshot --snapshot-config SNAPSHOT_CONFIG_FILE --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG
Como redefinir clusters com bmctl reset cluster
Quando a instalação de um cluster falha, é possível retornar os nós para um estado limpo ao redefini-los. Em seguida, reinstale o cluster depois de fazer alterações de configuração.
Para redefinir um cluster, emita o seguinte comando:
bmctl reset --cluster CLUSTER_NAME
Esse comando se aplica a todo o cluster. Não há opção para segmentar um subconjunto de nós em um cluster.
A saída do comando será semelhante a esta amostra:
bmctl reset -c cluster1 Creating bootstrap cluster... OK Deleting GKE Hub member admin in project my-gcp-project... Successfully deleted GKE Hub member admin in project my-gcp-project Loading images... OK Starting reset jobs... Resetting: 1 Completed: 0 Failed: 0 ... Resetting: 0 Completed: 1 Failed: 0 Flushing logs... OK
Redefinir detalhes do cluster
Durante a operação de redefinição, bmctl
primeiro exclui o registro de associação do GKE Hub e limpa os nós afetados.
Durante a redefinição, as ativações de armazenamento e os dados do anthos-system StorageClass
também são excluídos.
Para todos os nós, o bmctl executa kubeadm reset
, remove as interfaces de túnel usadas para a rede de cluster e exclui os seguintes diretórios:
- /etc/kubernetes
- /etc/cni/net.d
- /root/.kube
- /var/lib/kubelet
Para os nós do balanceador de carga, bmctl
também executa as seguintes ações:
- Desativa os serviços
keepalived
ehaproxy
- Exclui os arquivos de configuração de
keepalived
ehaproxy
.
A ferramenta de redefinição espera que o arquivo de configuração do cluster esteja no seguinte local no diretório de trabalho atual:
bmctl-workspace/cluster name/cluster name.yaml