Você está visualizando a documentação de uma versão anterior do GKE On-Prem. Veja a documentação mais recente.

Como executar verificações de simulação

Neste tópico, explicamos como executar verificações de simulação no arquivo de configuração do GKE On-Prem.

Visão geral

Durante a instalação, execute gkectl create-config para gerar um arquivo de configuração do GKE On-Prem. O arquivo de configuração impulsiona a instalação: você fornece informações sobre o ambiente vSphere, a rede e o balanceador de carga, e a aparência dos clusters. É possível gerar um arquivo de configuração antes ou depois de criar uma estação de trabalho de administrador. Para que determinadas verificações sejam aprovadas, elas precisam ser executadas na estação de trabalho de administrador.

Depois de modificar o arquivo para atender às necessidades do ambiente e dos clusters, use o arquivo para criar os clusters no ambiente local.

Antes de criar clusters, execute gkectl check-config para validar o arquivo de configuração com várias verificações de simulação.

Modos de verificação de simulação e como pular validações

gkectl check-config tem um modo padrão e um modo rápido:

  • No modo padrão, o comando valida de forma abrangente cada campo. Além disso, o modo padrão cria máquinas virtuais (VMs, na sigla em inglês) temporárias do vSphere como parte das validações, o que pode levar mais tempo.
  • No modo rápido, o comando pula as verificações que criam VMs de teste e executa apenas as verificações rápidas. Você ativa o modo rápido transmitindo na sinalização --fast.

É possível pular validações específicas transmitindo outras sinalizações, que são descritas em gkectl check-config --help.

Quando devo executar verificações de simulação?

É uma prática recomendada executar verificações de simulação antecipadamente e antes de tentar criar clusters. A execução antecipada de verificações de simulação ajuda a confirmar se você configurou o ambiente vSphere e a rede corretamente.

Se você estiver usando a versão 1.2.0-gke.6 do GKE On-Prem, execute gkectl check-config duas vezes:

  1. Execute gkectl check-config --fast.

  2. Execute gkectl prepare.

  3. Execute gkectl check-config novamente, sem a sinalização --fast.

O motivo da execução duas vezes é que gkectl prepare faz o upload do modelo de VM da imagem do SO do nó do cluster para o ambiente vSphere. Esse modelo de VM precisa estar em vigor antes de você executar o conjunto completo de validações.

Na versão 1.2.1 e posterior do GKE On-Prem, o comando check-config faz o upload do modelo de VM para que você execute o conjunto completo de validações antes de executar gkectl prepare:

  1. Execute gkectl check-config, sem a sinalização --fast.

  2. Execute gkectl prepare.

As verificações de simulação validam os valores fornecidos para o arquivo. Não é preciso preencher todos os campos do arquivo de configuração para executar verificações de simulação no arquivo. Em vez disso, é possível validar o arquivo iterativamente ao preencher os campos. Por exemplo, se você quiser apenas validar a configuração do vCenter, preencha apenas os campos vcenter e execute verificações nesses campos.

Lembre-se de que a configuração do GKE On-Prem torna-se imutável depois que você cria os clusters. A execução de verificações de simulação ajuda você a descobrir e resolver problemas na configuração antes de criar os clusters.

Como preservar a VM de teste para depuração

A partir da versão 1.2.1 do GKE On-Prem, o comando gkectl check-config tem uma sinalização --cleanup.

Quando gkectl check-config executa um conjunto completo de validações, ele cria uma VM de teste e uma chave SSH associada. Se você quiser preservar a VM de teste e a chave SSH para fins de depuração, defina --cleanup como falso.

O valor padrão de --cleanup é verdadeiro.

Lista de verificações de simulação

As verificações de simulação validam cada campo no arquivo de configuração. Veja as verificações atuais:

Category Descrição
Arquivo de configuração

Geralmente, valida se cada campo e especificação tem o formato e os valores esperados.

Ignorado com a sinalização --skip-validation-config.

Pule a validação do campo proxy com a sinalização --skip-validation-proxy.

Internet

Valida o acesso à Internet para domínios obrigatórios. Valida a configuração do proxy com base no local em que você está executando o gkectl.

Ignorado com a sinalização --skip-validation-internet.

Google Cloud
Project ID
[*].projectid
Valida os IDs do projeto fornecidos para vários campos na configuração. Se o ID do projeto estiver ausente, a validação será ignorada.
Registrar conta de serviço
registerserviceaccountkeypath
Valida se a conta de serviço tem os papéis do Cloud IAM necessários. Valida se as APIs necessárias estão ativadas.
Conectar conta de serviço
agentserviceaccountkeypath
Valida se a conta de serviço tem os papéis do Cloud IAM necessários. Valida se as APIs necessárias estão ativadas.
Conta de serviço do pacote de operações do Google Cloud
stackdriver.serviceaccountkeypath
Valida se a conta de serviço tem os papéis do Cloud IAM necessários. Valida se as APIs necessárias estão ativadas.
Ignorado com a sinalização --skip-validation-gcp.
Acesso ao acesso gcr.io/gke-on-prem-release Valida o acesso ao registro de imagens de contêiner do GKE On-Prem hospedado no Container Registry.

Ignorado pela sinalização --skip-validation-docker.

Registro do Docker
privateregistryconfig
Se configurado, inclui o acesso ao registro do Docker.

Ignorado com a sinalização --skip-validation-docker.

vCenter Verifica se todos os campos vcenter estão presentes e também verifica o seguinte:
Credenciais
vcenter.credentials.[*]
Valida a autenticação para o servidor vCenter usando as credenciais de usuário fornecidas.
Versão do vSphere Valida se o vSphere está na versão 6.5 ou 6.7 atualização 3.
Data center
vcenter.datacenter
Valida a existência do data center do vSphere.
Datastore
vcenter.datastore
Valida se o armazenamento de dados do vSphere existe.
Disco de dados
vcenter.datadisk
Valida se o disco de máquina virtual (VMDK, na sigla em inglês) do vSphere ainda não existe.
Conjunto de recursos
vcenter.resourcepool
Valida a existência do pool de recursos do vSphere.
Rede
vcenter.network
Valida se a rede do vSphere existe.

Ignorado com a sinalização --skip-validation-infra.

Balanceador de carga

Valida a configuração de balanceamento de carga:

  • Se o modo de balanceamento de carga estiver integrado (lbmode: Integrated), valida se todos os campos bigip estão presentes nas especificações admincluster e usercluster.
  • Se o modo de balanceamento de carga for manual (lbmode: Manual), valida se todos os campos manuallbspec estão presentes nas especificações admincluster e usercluster.
Balanceamento de carga integrado
bigip.credentials.[*] Valida as credenciais F5 BIG-IP.
bigip.partition Valida se a partição fornecida existe.
Papel de usuário F5 BIG-IP Valida se o usuário F5 BIG-IP fornecido tem o papel de administrador ou administrador de recursos.
bigip.vips.[*] Valida os VIPs fornecidos.

Ignorado com as sinalizações --fast ou --skip-validation-load-balancer.

Balanceamento de carga manual
Configurações de rede Valida VIPs, IPs de nó etc.

Ignorado com as sinalizações --fast ou --skip-validation-load-balancer.

[*].manuallbspec.[*] Valida as portas de nó fornecidas.
Ignorado com a sinalização --skip-validation-load-balancer.
Rede

Valida se os intervalos CIDR, VIPs e IPs estáticos fornecidos (se configurados) estão disponíveis. Verifica se os endereços IP não se sobrepõem.

Ignorado com a sinalização --skip-validation-net-config.

DNS

Valida se o servidor DNS fornecido está disponível.

Ignorado com a sinalização --skip-validation-dns.

NTP

Valida se o servidor de Network Time Protocol (NTP) fornecido está disponível.

Ignorado com a sinalização --skip-validation-tod.

VIPs

Faz o ping dos VIPs fornecidos. Essa verificação será bem-sucedida se o ping falhar, indicando que o VIP ainda não foi realizado.

Ignorado com a sinalização --skip-validation-vips.

IPs de nós

Faz o ping dos endereços IP de nós fornecidos. Essa verificação será bem-sucedida se o ping falhar, indicando que o IP do nó esperado ainda não foi usado.

Ignorado com a sinalização --skip-validation-node-ips.

Resultados da verificação de simulação

As verificações de simulação retornam os seguintes resultados:

SUCCESS
O campo e o valor dele passaram na verificação.
FAILURE
O campo e/ou o valor dele não passaram na verificação. Se uma verificação retornar uma mensagem FAILURE, corrija os problemas e valide o arquivo novamente.
SKIPPED

A verificação foi ignorada, provavelmente porque a verificação não é relevante para a configuração. Por exemplo, se você estiver usando um servidor DHCP, as verificações de DNS e IPs de nó, relevantes apenas para uma configuração de IP estático, serão ignoradas.

Se você passar uma sinalização que ignore uma validação, a verificação ignorada não retornará um resultado SKIPPED. Em vez disso, a validação não é executada e não aparece na resposta ao comando.

UNKNOWN

A ação de ignorar retornou um código diferente de zero. É possível considerar os resultados UNKNOWN como verificações de falha. UNKNOWN geralmente indica que a verificação falhou ao executar algum pacote do sistema, como falha na execução do nslookup ou falha na execução do gcloud.

Em breve

As seguintes verificações de simulação serão adicionadas em uma versão futura:

  • Servidor NTP

Como executar verificações de simulação

Para executar as verificações de simulação, execute o seguinte comando:

gkectl check-config --config [CONFIG]

em que [CONFIG] é o caminho do arquivo de configuração do GKE On-Prem.

Como executar no modo rápido

Se preferir, execute verificações de simulação no "modo rápido", que ignora as validações que criam VMs de teste temporárias, como as balanceamentos de carga de VIP e IP do nó. Para fazer isso, passe --fast:

gkectl check-config --config [CONFIG] --fast

Como ignorar validações específicas

É possível passar sinalizações para pular de maneira granular as validações específicas, como DNS, proxy e rede. Cada sinalização de ignorar é prefixada com --skip-[VALIDATION].

Para saber mais sobre as sinalizações de pular disponíveis, execute o comando a seguir. Como opção, consulte a referência do gkectl check-config:

gkectl check-config --help

Por exemplo, para ignorar as validações do balanceador de carga:

gkectl check-config --config my-config.yaml --skip-validation-load-balancer 

Como cancelar verificações de simulação

Se você começou a executar verificações de simulação e quer cancelar, pressione CTRL + C duas vezes. Se uma verificação de simulação tiver criado uma VM de teste, o cancelamento também limpará a VM automaticamente.

Como limpar uma VM de teste

Se uma VM de teste sobrar após a conclusão das verificações de simulação, será possível excluir a VM do vCenter. Uma VM de teste tem um nome como este:

check-config-[dhcp|static]-[random number]

Para excluir a VM:

  1. Clique com o botão direito do mouse na VM e clique em Ativação > Desativar

  2. Depois que a VM for desativada, clique com o botão direito na VM novamente e clique em Excluir do disco.

Exemplo

Veja abaixo um exemplo de comportamento do comando. Neste exemplo, a configuração que está sendo validada usa o modo de balanceamento de carga integrado e IPs estáticos sem um registro externo do Docker:

gkectl check-config --config config.yaml
- Validation Category: Config Check
    - [SUCCESS] Config

- Validation Category: Internet Access
    - [SUCCESS] Internet access to required domains

- Validation Category: GCP
    - [SUCCESS] GCP Service
    - [SUCCESS] GCP Service Account

- Validation Category: Docker Registry
    - [SUCCESS] gcr.io/gke-on-prem-release access

- Validation Category: vCenter
    - [SUCCESS] Credentials
    - [SUCCESS] Version
    - [SUCCESS] Datacenter
    - [SUCCESS] Datastore
    - [SUCCESS] Data Disk
    - [SUCCESS] Resource Pool
    - [SUCCESS] Network

- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster F5 (credentials, partition and user role)
    - [SUCCESS] User Cluster F5 (credentials, partition and user role)

- Validation Category: Network Configuration
    - [SUCCESS] CIDR, VIP and static IP (availability and overlapping)

- Validation Category: DNS
    - [SUCCESS] DNS (availability)

- Validation Category: VIPs
    - [SUCCESS] ping (availability)

- Validation Category: Node IPs
    - [SUCCESS] ping (availability)

Now running slow validation checks (creates test VM); use flag --fast to disable.
- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster VIP and NodeIP
    - [SUCCESS] User Cluster VIP and NodeIP

All validation results were SUCCESS.

Problema conhecido

Na versão 1.2.0-gke.6 do GKE On-Prem, se você estiver usando pools de recursos aninhados ou padrão, o gkectl check-config falhará ao tentar fazer um conjunto completo de validações. No entanto, é possível fazer um conjunto menor de validações passando a sinalização --fast.

gkectl check-config --config [CONFIG] --fast

Esse problema será corrigido na versão 1.2.1.

A seguir