Nesta página, você aprende a criar um cluster de usuário.
Como gerar um arquivo de configuração
Para criar um cluster de usuário, você precisa de um arquivo de configuração de cluster de usuário. 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 cluster --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
user-cluster.yaml
e coloca-o no diretório atual.
Como preencher o arquivo de configuração
name
Defina o campo
name
como um nome de sua escolha para o cluster de usuário.
gkeOnPremVersion
Defina o
campo
gkeOnPremVersion
.
vCenter
Os valores definidos na seção vCenter
do
arquivo de configuração do cluster de administrador
são globais. Ou seja, eles se aplicam ao cluster de administrador e aos clusters de usuário.
Para cada cluster de usuário criado, você tem a opção de modificar alguns dos
valores globais de vCenter
.
Se você quiser modificar qualquer um dos valores vCenter
globais, preencha os campos
relevantes na seção
vCenter
do arquivo de configuração do cluster de usuário.
network
Defina network.ipMode.type
com o mesmo valor definido no
arquivo de configuração do cluster de administrador:
"dhcp"
ou "static"
.
Se você definir ipMode.type
como "static"
, crie um
arquivo de configuração do host
que forneça os endereços IP estáticos para os nós em seu cluster de usuário. Em seguida,
defina
network.ipBlockFilePath
como o caminho do arquivo de configuração do host.
Forneça valores para os campos restantes
na seção
network
.
loadBalancer
Reserve um VIP para o servidor da API Kubernetes do seu cluster de usuários. Reserve
outro VIP para o serviço de entrada do seu cluster de usuários. Forneça seus VIPs como
valores para
loadBalancer.controlPlaneVIP
e
loadBalancer.ingressVIP
.
Defina loadBalancer.kind
com o mesmo valor definido no
arquivo de configuração do cluster de administrador:
"ManualLB"
, "F5BigIP"
ou "Seesaw"
. Em seguida, preencha a seção
correspondente:
manualLB
,
f5BigIP
ou
seesaw
.
proxy
Se a rede que terá os nós do cluster de usuários estará atrás de um servidor proxy,
preencha a
seção
proxy
.
masterNode
Preencha a
seção
masterNode
.
nodePools
Preencha a
seção
nodePools
.
authentication
Se você quiser usar OpenID Connect (OIDC) para autenticar usuários, preencha a
seção
authentication.oidc
.
Se você quiser fornecer um certificado de veiculação adicional para o servidor
vCenter do cluster de usuários, preencha a
seção
authentication.sni
.
stackdriver
Preencha a
seção
stackdriver
.
gkeConnect
Preencha a
seção
gkeConnect
.
cloudRun
Defina cloudRun.enabled
como true
ou false
.
Como validar seu arquivo de configuração
Depois de preencher o arquivo de configuração do cluster de usuário, execute
gkectl check-config
para verificar se o arquivo é válido:
gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_PATH]
em que:
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig para o cluster de administrador;
[CONFIG_PATH] é o caminho do arquivo de configuração do cluster de usuário.
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 criar o cluster de usuário
Crie o cluster de usuário:
gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \ --config [CONFIG_PATH] --skip-validation-all
onde
[CONFIG_PATH] é o caminho do arquivo de configuração do cluster de usuário.
[ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig para o cluster de administrador;
O comando gkectl create cluster
cria um arquivo kubeconfig chamado
[USER_CLUSTER_NAME]-kubeconfig
no diretório atual. Você precisará desse arquivo
kubeconfig mais tarde para interagir com seu cluster de usuários.
Não use a sinalização --skip-validation-all
se você não validou seu arquivo de configuração anteriormente.
Como verificar se o cluster de usuário está em execução
Verifique se o cluster de usuário está em execução:
kubectl get nodes --kubeconfig [USER_CLUSTER_KUBECONFIG]
em que [USER_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig.
A saída mostra os nós do cluster de usuário.
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.
Comportamento de geração de registros padrão
Para gkectl
e gkeadm
, basta usar as configurações de
geração de registros 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 arquivologs/gkectl-$(date).log
no diretório local em que você executagkectl
. -
Para
gkeadm
, o arquivo de registros padrão élogs/gkeadm-$(date).log
no diretório local em que você executagkeadm
.
-
Para
- 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 detalhamento
-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 registro 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:
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
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.