Como criar um cluster de administrador

Nesta página, você aprende a criar um cluster de administrador.

Como gerar um arquivo de configuração

Para criar um cluster de administrador, você precisa de um arquivo de configuração de cluster de administrador. Se você usou gkeadm para criar a estação de trabalho do administrador, gkeadm gerou um modelo para o arquivo de configuração e preencheu alguns dos campos.

Se você não usou gkeadm para criar a estação de trabalho de administrador, gere um modelo executando este comando:

gkectl create-config admin --config [OUTPUT_PATH]

[OUTPUT_PATH] é um caminho de sua escolha para o modelo gerado. Se você não incluir a sinalização --config, gkectl nomeia o arquivo admin-cluster.yaml e coloca-o no diretório atual.

Como preencher o arquivo de configuração

bundlePath

Se você usou gkeadm para criar a estação de trabalho do administrador, esse campo já está preenchido. Caso contrário, forneça o caminho do arquivo do pacote.

vCenter

Se você usou gkeadm para criar sua estação de trabalho de administrador, esta seção já está preenchida. Caso contrário, forneça valores para os campos em vCenter.

network

Decida como você quer que os nós de cluster recebam os endereços IP deles. As opções são:

  • A partir de um servidor DHCP. Defina network.ipMode.type como "dhcp".

  • A partir de uma lista de endereços IP estáticos fornecidos. Defina network.ipMode.type como "static" e crie um arquivo de configuração de host que fornece os endereços IP estáticos.

Forneça valores para os campos restantes na seção network. .

loadBalancer

Separe um VIP para o servidor da API do Kubernetes do cluster de administrador. Reserve outro VIP para o servidor de complementos. Forneça seus VIPs como valores para loadBalancer.controlPlaneVIP e loadBalancer.addonsVIP.

Decida qual tipo de balanceamento de carga você quer usar. Veja as opções abaixo:

  • Segue o balanceamento de carga em pacote. Defina loadBalancer.kind como "Seesaw" e preencha a seção loadBalancer.seesaw.

  • Balanceamento de carga integrado com a F5 BIG-IP. Defina loadBalancer.kind como "F5BigIP" e preencha a seção f5BigIP.

  • Balanceamento de carga manual. Defina loadBalancer.kind como "ManualLB" e preencha a seção manualLB.

proxy

Se a rede que terá os nós do cluster de administrador estiver atrás de um servidor proxy, preencha a seção proxy.

privateRegistry

Decida onde você quer manter as imagens de contêiner dos componentes do GKE On-Prem. Veja as opções abaixo:

  • gcr.io. Não preencha a seção privateRegistry.

  • Seu próprio registro particular do Docker. Preencha a seção privateRegistry.

gcrKeyPath

Defina gcrKeyPath como o caminho do arquivo de chave JSON para sua conta de serviço da lista de permissão.

stackdriver

Preencha a seção stackdriver.

cloudAuditLogging

Se você quiser que os registros de auditoria do Kubernetes sejam integrados aos registros de auditoria do Cloud, preencha a seção cloudAuditLogging.

Como validar seu arquivo de configuração

Depois de preencher o arquivo de configuração do cluster de administrador, execute gkectl check-config para verificar se o arquivo é válido:

gkectl check-config --config [CONFIG_PATH]

em que [CONFIG_PATH] é o caminho do arquivo de configuração do cluster de administrador.

Se o comando retornar mensagens, corrija os problemas e valide o arquivo novamente.

Se quiser pular as validações mais demoradas, transmita a sinalização --fast. Para pular validações individuais, use as sinalizações --skip-validation-xxx. Para saber mais sobre o comando check-config, consulte Como executar verificações de simulação.

Como executar gkectl prepare

Execute gkectl prepare para inicializar o ambiente do vSphere:

gkectl prepare --config [CONFIG_PATH] --skip-validation-all

Como criar o cluster de administrador

Crie o cluster de administrador:

gkectl create admin --config [CONFIG_PATH] --skip-validation-all

em que [CONFIG_PATH] é o caminho do arquivo de configuração do cluster de administrador.

O comando gkectl create admin cria um arquivo kubeconfig chamado kubeconfig no diretório atual. Você precisará desse arquivo kubeconfig mais tarde para interagir com o cluster de administrador.

Como verificar se o cluster de administrador está em execução

Verifique se o cluster de administrador está em execução:

kubectl get nodes --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]

em que [ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig.

A saída mostra os nós do cluster de administrador.

Solução de problemas

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.

Como executar comandos gkectl de maneira detalhada

-v5

Como registrar erros gkectl em stderr

--alsologtostderr

Como localizar registros gkectl na estação de trabalho do administrador

Mesmo que você não transmita as sinalizações de depuração, é possível visualizar os registros gkectl no seguinte diretório da estação de trabalho do administrador:

/home/ubuntu/.config/gke-on-prem/logs

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

Como depurar problemas de F5 BIG-IP com o kubeconfig do nó do plano de controle do cluster de administrador

Após uma instalação, o GKE On-Prem gera um arquivo kubeconfig no diretório inicial da estação de trabalho do administrador denominado internal-cluster-kubeconfig-debug. Esse arquivo kubeconfig é idêntico ao kubeconfig do cluster de administrador, com a diferença de que ele aponta diretamente para o nó do plano de controle do cluster de administrador, em que o plano de controle de administrador é executado. É possível usar o arquivo internal-cluster-kubeconfig-debug para depurar problemas de F5 BIG-IP.

Falha na validação de gkectl check-config: não é possível encontrar partições de F5 BIG-IP

Sintomas

A validação falha porque não são encontradas partições de F5 BIG-IP, embora elas existam.

Causas possíveis

Um problema com a API F5 BIG-IP pode causar falha na validação.

Resolução

Tente executar gkectl check-config novamente.

Falha em gkectl prepare --validate-attestations: não foi possível validar o atestado de versão

Sintomas

Executar gkectl prepare com a sinalização --validate-attestations opcional retorna o seguinte erro:

could not validate build attestation for gcr.io/gke-on-prem-release/.../...: VIOLATES_POLICY
Causas possíveis

Um atestado pode não existir para as imagens afetadas.

Resolução

Tente fazer o download e implantar o OVA da estação de trabalho de administrador novamente, conforme instruído em Como criar uma estação de trabalho de administrador. Se o problema persistir, entre em contato com o Google para receber ajuda.

Como depurar usando os registros do cluster de inicialização

Durante a instalação, o GKE On-Prem cria um cluster temporário de inicialização. Após uma instalação bem-sucedida, o GKE On-Prem exclui o cluster de inicialização, deixando você com o cluster de administrador e de usuário. Geralmente, não há motivo para interagir com esse cluster.

Se algo der errado durante uma instalação e você tiver transmitido --cleanup-external-cluster=false para gkectl create cluster, talvez seja útil realizar a depuração usando os registros do cluster de inicialização. Encontre o pod e acesse os registros dele:

kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl get pods -n kube-system
kubectl --kubeconfig /home/ubuntu/.kube/kind-config-gkectl -n kube-system get logs [POD_NAME]

Para mais informações, consulte Solução de problemas.

A seguir

Como criar um cluster de usuários