Referências de verificação do GKE On-Prem

Neste tópico, você encontra uma visão geral dos comandos chamados ao usar o GKE On-Prem. Ele é fornecido por conveniência e para complementar a documentação do GKE On-Prem.

As sinalizações entre colchetes são opcionais. Placeholder variables são mutáveis.

Comandos kubectl

Consulte também as referências de verificação do kubectl.

Definir o arquivo kubeconfig padrão

export KUBECONFIG=[KUBECONFIG_PATH]

Listar clusters do kubeconfig padrão

kubectl get clusters

Transmita --kubeconfig [KUBECONFIG_PATH] para visualizar clusters em um kubeconfig não padrão.

Listar nós no cluster do kubeconfig padrão

kubectl get nodes

Transmita --kubeconfig [KUBECONFIG_PATH] para visualizar clusters em um kubeconfig não padrão.

Listar todos os contêineres em todos os namespaces

kubectl get pods --all-namespaces -o jsonpath="{..image}" |\
tr -s '[[:space:]]' '\n' |\
sort |\
uniq -c

Comandos gkectl

Consulte também a referência de gkectl.

Como diagnosticar problemas de cluster usando gkectl

Use os comandos gkectl diagnose para identificar problemas de cluster e compartilhar informações do cluster com o Google. Consulte Como diagnosticar problemas de cluster.

Gerar um arquivo de configuração do GKE On-Prem

gkectl create-config [--config [PATH]]

Validar um arquivo de configuração

gkectl check-config --config [PATH]

Enviar imagens do GKE On-Prem para o registro do Docker e inicializar a imagem do SO do nó

gkectl prepare --config [CONFIG_FILE] [--validate-attestations]

Criar clusters

gkectl create cluster --config [CONFIG_FILE]

Contas de serviço do Google Cloud

Criar uma conta de serviço

gcloud iam service-accounts create [SERVICE_ACCOUNT_NAME] --project [PROJECT_ID]

Conceder um papel do IAM a uma conta de serviço

gcloud projects add-iam-policy-binding \
    [PROJECT_ID] \
    --member="serviceAccount:[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com" \
    --role="[ROLE_NAME]"

Criar uma chave privada para uma conta de serviço

gcloud iam service-accounts keys create [KEY_FILE_NAME] \
--iam-account [SERVICE_ACCOUNT_NAME]@[PROJECT-ID].iam.gserviceaccount.com \
--project [PROJECT_ID]

Ativar uma conta de serviço e executar os comandos gcloud e gsutil como essa conta

gcloud auth activate-service-account --key-file=[SERVICE_ACCOUNT_KEY_FILE]

Estação de trabalho do administrador

SSH na estação de trabalho do administrador

No diretório que contém os arquivos de configuração do Terraform:

ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

ou, se quiser apenas usar o endereço:

ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]

Copiar arquivos para uma estação de trabalho do administrador

scp -i ~./ssh/vsphere_workstation [SOURCE_PATH] ubuntu@$(terraform output ip_address)

Comportamento de geração de registros padrão

Para gkectl e gkeadm, basta usar as configurações de registro padrão:

  • Por padrão, as entradas de registro são salvas da seguinte maneira:

    • Para gkectl, o arquivo de registros padrão é /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log, e está vinculado ao arquivo logs/gkectl-$(date).log, no diretório local em que você executa gkectl.
    • Para gkeadm, o arquivo de registros padrão é logs/gkeadm-$(date).log, no diretório local em que você executa gkeadm.
  • Todas as entradas de registro são salvas no arquivo de registros, mesmo que não sejam impressas no terminal (quando --alsologtostderr é false).
  • O nível de detalhes -v5 (padrão) abrange todas as entradas de registro exigidas pela equipe de suporte.
  • O arquivo de registros também contém o comando executado e a mensagem de erro.

Recomendamos que você envie o arquivo de registros para a equipe de suporte quando precisar de ajuda.

Como especificar um local não padrão para o arquivo de registros

Se quiser especificar um local não padrão para o arquivo de registros gkectl, use a sinalização --log_file. O arquivo de registros que você especificar não será vinculado ao diretório local.

Se quiser especificar um local não padrão para o arquivo de registros gkeadm, use a sinalização --log_file.

Como localizar registros da API Cluster no cluster de administrador

Se uma VM não for iniciada após o início do plano de controle do administrador, tente depurar isso inspecionando os registros dos controladores da API Cluster no cluster de administrador:

  1. Encontre o nome do pod de controladores da API Cluster no namespace kube-system, em que [ADMIN_CLUSTER_KUBECONFIG] é o caminho para o arquivo kubeconfig do cluster de administrador:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Abra os registros do pod, em que [POD_NAME] é o nome do pod. Opcionalmente, use grep ou uma ferramenta semelhante para pesquisar erros:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager

Clusters

Acessar endereços IP dos nós de um cluster de administrador

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide

Acessar endereços IP dos nós de um cluster de usuário

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide

SSH em nós do cluster

Consulte Como usar o SSH para se conectar a um nó de cluster.

A seguir