Esta é a segunda parte de um guia que mostra uma pequena instalação de prova de conceito de clusters do Anthos no VMware (GKE On-Prem). A primeira parte é Configurar uma infraestrutura mínima, que mostra como planejar seus endereços IP e a infraestrutura necessária do vSphere e do Google Cloud para sua implantação. Este documento se baseia na configuração e no planejamento que você fez na seção anterior e mostra como criar uma estação de trabalho de administrador, um cluster de administrador e um cluster de usuário no seu ambiente do vSphere. Depois, você pode implantar um aplicativo.
Assim como a configuração de infraestrutura desta instalação simples, os clusters configurados usando este documento podem não ser adequados para suas necessidades de produção e casos de uso reais. Para mais informações, práticas recomendadas e instruções para instalações de produção, consulte os guias de instalação.
Antes de começar
- Verifique se você configurou seus ambientes do vSphere e do Google Cloud, conforme descrito em Configurar infraestrutura mínima.
Visão geral do procedimento
Estas são as principais etapas envolvidas na configuração:
- Confirme se você tem todas as informações necessárias para configurar os clusters do Anthos no VMware, incluindo o nome de usuário e a senha do vCenter e os endereços IP preparados na seção anterior.
- Faça login na Google Cloud CLI com uma conta que tenha as permissões necessárias para criar contas de serviço.
- Crie uma estação de trabalho de administrador com os recursos e as ferramentas necessários para criar clusters de administrador e de usuário, incluindo as contas de serviço adicionais necessárias para concluir a configuração.
- Crie um cluster de administrador para hospedar o plano de controle do Kubernetes dos clusters de administrador e de usuário, além de gerenciar e atualizar clusters de usuários.
- Crie um cluster de usuário que possa executar cargas de trabalho reais.
Coletar informações
Antes de começar a preencher os clusters do Anthos nos arquivos de configuração da VMware, verifique se você tem todas as informações necessárias preparadas em Configurar uma infraestrutura mínima. Você vai precisar de todos os valores a seguir para configurar os clusters do Anthos no VMware e concluir essa configuração.
Detalhes do vCenter
O nome de usuário e a senha da conta do vCenter
O certificado de CA raiz do seu servidor vCenter
O nome do seu data center do vSphere
O nome do seu cluster do vSphere
O nome do seu armazenamento de dados do vSphere
O nome da sua rede do vSphere
Endereços IP
Verifique se você tem todos os endereços IP escolhidos em Planejar seus endereços IP, incluindo:
- Um endereço IP para sua estação de trabalho de administrador.
- 10 endereços IP para os nós de cluster de administrador e de usuário, incluindo endereços de dois nós extras que podem ser usados durante os upgrades de cluster
- Um endereço IP virtual (VIP) para o servidor da API Kubernetes do cluster de administrador.
- Um VIP para o servidor da API Kubernetes do cluster de usuário.
- Um VIP de entrada para o cluster de usuário.
- 10 VIPs de serviço para o cluster de usuário.
- Um intervalo CIDR para pods e serviços de cluster de usuário se precisar usar intervalos não padrão, conforme descrito em Evitar sobreposição.
Os seguintes itens também são necessários:
- O endereço IP de um servidor DNS.
- O endereço IP de um servidor NTP.
- O endereço IP do gateway padrão da sub-rede que tem a estação de trabalho do administrador e os nós do cluster.
Detalhes do Google Cloud
O ID do projeto do Cloud escolhido
O caminho do arquivo de chave JSON da conta de serviço de acesso ao componente que você configurou na seção anterior.
Faça login no Google Cloud CLI
A configuração de clusters do Anthos no VMware requer várias contas de serviço com permissões diferentes. Embora você precise criar a conta de serviço de acesso a componentes manualmente, a ferramenta de linha de comando gkeadm
pode criar e configurar versões padrão das contas restantes para você como parte da criação da estação de trabalho do administrador. Para isso, no entanto, você precisa fazer login na Google Cloud CLI com uma conta que tenha as permissões necessárias para criar e configurar contas de serviço, já que gkeadm
usa sua CLI gcloud atual account
propriedade ao fazer essa configuração.
Faça login na CLI gcloud. Você pode usar qualquer Conta do Google, mas ela precisa ter as permissões necessárias. Se você seguiu a parte anterior deste guia, provavelmente já fez login com uma conta apropriada para criar sua conta de serviço de acesso a componentes.
gcloud auth login
Verifique se a propriedade
account
da CLI gcloud está definida corretamente:gcloud config list
A saída mostra o valor da propriedade
account
do SDK. Exemplo:[core] account = my-name@google.com disable_usage_reporting = False Your active configuration is: [default]
Criar uma estação de trabalho de administrador.
Antes de criar clusters, você precisa configurar e executar o SSH em uma estação de trabalho de administrador. A estação de trabalho do administrador é uma VM independente com as ferramentas e os recursos necessários para criar clusters do Anthos no seu ambiente do vSphere. Nas etapas desta seção, usamos a ferramenta de linha de comando gkeadm
,
disponível para Linux de 64 bits, Windows 10, Windows Server 2019 e macOS 10.15
e superior.
- Faça o download de
gkeadm
no seu diretório atual.
Gerar modelos
Execute este comando para gerar arquivos de configuração do modelo:
./gkeadm create config
A execução desse comando gera os seguintes arquivos de configuração de modelo no diretório atual:
credential.yaml
, que você usa para fornecer seus detalhes de login do vCenteradmin-ws-config.yaml
, que você usa para fornecer as definições de configuração da estação de trabalho do administrador
Preencha o arquivo de credenciais
Em credential.yaml
, preencha o nome de usuário e senha do vCenter. Exemplo:
kind: CredentialFile items: - name: vCenter username: "my-account-name" password: "AadmpqGPqq!a"
Preencha o arquivo de configuração da estação de trabalho do administrador
Abra admin-ws-config.yaml
para edição. Quando concluído, esse arquivo contém todas as informações que o gkeadm
precisa para criar uma estação de trabalho de administrador para essa instalação básica. Alguns campos já estão preenchidos para você com valores padrão ou gerados: não altere esses valores para esta instalação simples.
Preencha os outros campos da seguinte maneira, usando as informações que você coletou anteriormente. Veja um arquivo de configuração de exemplo abaixo se você não souber como formatar campos ou consulte a referência do arquivo de configuração da estação de trabalho do administrador. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Campo ou seção | Instructions |
---|---|
gcp.componentAccessServiceAccountKeyPath |
O caminho do arquivo de chave JSON que você criou para sua conta de serviço de acesso a componentes. |
vCenter.credentials.address |
O endereço IP ou o nome do host do servidor vCenter. |
vCenter.datacenter |
O nome do data center do vCenter. |
vCenter.datastore |
O nome do armazenamento de dados do vCenter. |
vCenter.cluster |
O nome do seu cluster do vCenter. |
vCenter.network |
O nome da rede vCenter em que você quer criar a estação de trabalho de administrador. |
vCenter.resourcePool |
Defina esse campo como "CLUSTER_NAME/Resources" , substituindo CLUSTER_NAME pelo
nome do seu cluster do vSphere. |
vCenter.caCertPath |
O caminho para o certificado de CA raiz do servidor vCenter. |
proxyURL |
Se a máquina que você executa para executar o gkeadm precisar de um servidor proxy para acessar a Internet, defina esse campo como o URL do servidor proxy. |
adminWorkstation.ipAllocationMode |
Defina esse campo como "static" . |
adminWorkstation.network.hostConfig.ip |
O endereço IP que você escolheu antes para a estação de trabalho do administrador. |
adminWorkstation.network.hostConfig.gateway |
O endereço IP do gateway padrão da sub-rede que você quer usar para a estação de trabalho do administrador e os nós do cluster. |
adminWorkstation.network.hostConfig.netmask |
A máscara de rede da rede que contém sua estação de trabalho do administrador. |
adminWorkstation.network.hostConfig.dns |
Endereços IP para servidores DNS que a estação de trabalho do administrador pode usar. |
adminWorkstation.proxyURL |
Se a rede estiver protegida por um servidor proxy e você quiser que a estação de trabalho do administrador e os clusters usem o mesmo servidor proxy, defina esse campo como o URL do servidor proxy. |
Exemplo de arquivo de configuração da estação de trabalho de administrador
Veja um exemplo de um arquivo de configuração da estação de trabalho do administrador preenchido:
gcp: componentAccessServiceAccountKeyPath: "/usr/local/google/home/me/keys/component-access-key.json" vCenter: credentials: address: "vc01.example" fileRef: path: "credential.yaml" entry: "vCenter" datacenter: "vc01" datastore: "vc01-datastore-1" cluster: "vc01-workloads-1" network: "vc01-net-1" resourcePool: "vc01-workloads-1/Resources" caCertPath: "/usr/local/google/home/stevepe/certs/vc01-cert.pem" proxyUrl: "" adminWorkstation: name: gke-admin-ws-220304-014925 cpus: 4 memoryMB: 8192 diskGB: 50 dataDiskName: gke-on-prem-admin-workstation-data-disk/gke-admin-ws-220304-014925-data-disk.vmdk dataDiskMB: 512 network: ipAllocationMode: "static" hostConfig: ip: "172.16.20.49" gateway: "172.16.20.1" netmask: "255.255.255.0" dns: - "203.0.113.1" proxyUrl: "" ntpServer: ntp.ubuntu.com
Criar a estação de trabalho de administrador
Crie a estação de trabalho do administrador usando o seguinte comando:
./gkeadm create admin-workstation --auto-create-service-accounts
Execute este comando:
- Cria a estação de trabalho do administrador
- Cria automaticamente outras contas de serviço necessárias para a instalação.
- Cria arquivos de configuração de modelo para os clusters de administrador e de usuário
A saída fornece informações detalhadas sobre a criação da estação de trabalho do administrador e fornece um comando que pode ser usado para ter uma conexão SSH com a estação de trabalho do administrador:
... Admin workstation is ready to use. Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49 ********************************************************************
Para informações mais detalhadas sobre como criar uma estação de trabalho de administrador, consulte Criar uma estação de trabalho de administrador.
Conectar-se à estação de trabalho do administrador
Use o comando exibido na saída anterior para conseguir uma conexão SSH para a estação de trabalho do administrador. Exemplo:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
Ver os arquivos gerados
Na estação de trabalho do administrador, liste os arquivos no diretório principal:
ls -1
A saída pode incluir:
admin-cluster.yaml
, um arquivo de configuração de modelo para criar seu cluster de administrador.user-cluster.yaml
, um arquivo de configuração de modelo para criar o cluster de usuário.- Arquivos de chave JSON para duas contas de serviço
gkeadm
criadas para você: uma conta de serviço "connect-register" e uma conta de serviço de geração de registros. Anote o nome dos arquivos de chave JSON da sua conta de serviço connect-register. Você precisará dele mais tarde ao criar clusters.
Exemplo:
admin-cluster.yaml admin-ws-config.yaml sa-key.json connect-register-sa-2203040617.json credential.yaml log-mon-sa-2203040617.json logs vc01-cert.pem user-cluster.yaml
Criar um cluster de administrador
Agora que você tem uma estação de trabalho de administrador configurada com o vCenter e outros detalhes, pode usá-la para criar um cluster de administrador no ambiente do vSphere. Antes de iniciar esta etapa, verifique se você tem uma conexão SSH com a estação de trabalho do administrador, conforme descrito acima. Todos os comandos a seguir são executados na estação de trabalho de administrador.
Especificar endereços IP estáticos para o cluster de administrador
Para especificar os endereços IP estáticos que você planejou anteriormente para os nós do cluster de administrador, crie um
arquivo de bloco de IP
chamado admin-cluster-ipblock.yaml
.
Você precisa de cinco endereços IP para os seguintes nós no cluster de administrador:
Três nós para executar os complementos e o plano de controle do cluster de administrador
Um nó extra a ser usado temporariamente durante upgrades
Um nó para executar o plano de controle do cluster de usuário que você criará posteriormente
Veja um exemplo de um arquivo de bloco de endereços IP que tem endereços para cinco nós:
blocks: - netmask: 255.255.255.0 gateway: 172.16.20.1 ips: - ip: 172.16.20.50 hostname: admin-vm-1 - ip: 172.16.20.51 hostname: admin-vm-2 - ip: 172.16.20.52 hostname: admin-vm-3 - ip: 172.16.20.53 hostname: admin-vm-4 - ip: 172.16.20.54 hostname: admin-vm-5
O campo ips
é uma matriz de endereços IP e nomes de host. Esses são os endereços
IP e nomes de host que os clusters do Anthos no VMware atribuirão aos nós de
cluster do administrador.
No arquivo de bloco de IP, você também especifica uma máscara de sub-rede e um gateway padrão para os nós do cluster de administrador.
Preencher o arquivo de configuração do cluster de administrador.
Abra admin-cluster.yaml
para edição. Quando concluído, esse arquivo contém todas as informações que gkectl
precisa para criar um cluster de administrador para esta instalação básica. Alguns dos campos já estão preenchidos para você com valores padrão, valores gerados ou valores que você forneceu ao configurar a estação de trabalho do administrador, como detalhes do vCenter: não altere esses valores para essa instalação simples.
Preencha os outros campos da seguinte maneira, usando as informações que você coletou anteriormente. Veja um exemplo de arquivo de configuração abaixo se você não souber como formatar campos ou consulte a referência do arquivo de configuração do cluster de administrador. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Campo ou seção | Instructions |
---|---|
vCenter.dataDisk |
O nome que você quer usar para o disco de máquina virtual (VMDK) que o instalador cria para armazenar dados de objetos do Kubernetes. |
network.hostConfig.dnsServers |
Endereços IP para servidores DNS que as VMs de cluster podem usar. |
network.hostConfig.ntpServers |
Endereços IP para servidores de tempo que as VMs do cluster podem usar. |
network.ipMode.type |
Defina esse campo como "static" .
|
network.ipMode.ipBlockFilePath |
O caminho para o arquivo de bloqueio de IP criado anteriormente. |
network.serviceCIDR e network.podCIDR |
Só altere esses valores se você precisar usar intervalos não padrão, conforme descrito em Evitar sobreposição. |
loadBalancer.vips.controlPlaneVIP |
O endereço IP virtual (VIP) que você escolheu para o servidor da API Kubernetes do cluster de administrador. |
loadbalancer.kind |
Defina esse campo como "MetalLB" . |
antiAffinityGroups |
Definir esse campo como "false" |
gkeConnect.projectID |
Definir esse campo com o ID do seu projeto do projeto do Google. |
gkeConnect.registerServiceAccountKeyPath |
Definir esse campo como a chave JSON da sua conta de serviço "connect-register". |
Exemplo de arquivo de configuração do cluster de administrador
Veja um exemplo de um arquivo de configuração de cluster de administrador preenchido:
apiVersion: v1 kind: AdminCluster name: "gke-admin-01" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.11.0-gke.543-full.tgz" vCenter: address: "vc01.example" datacenter: "vc-01" cluster: "vc01-workloads-1" resourcePool: "my-cluster/Resources" datastore: "vc01-datastore-1" caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem"" credentials: fileRef: path: "credential.yaml" entry: "vCenter" dataDisk: "vc01-admin-disk.vmdk" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "vc01-net-1" loadBalancer: vips: controlPlaneVIP: "172.16.20.59" kind: "MetalLB" antiAffinityGroups: enabled: false componentAccessServiceAccountKeyPath: "sa-key.json" gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false
Validar o arquivo de configuração do cluster de administrador
Verifique se o arquivo de configuração do cluster de administrador é válido e pode ser usado para a criação do cluster:
gkectl check-config --config admin-cluster.yaml
Importe imagens do SO para o vSphere.
Execute gkectl prepare
com o arquivo de configuração completo para importar imagens de SO de nó para o vSphere:
gkectl prepare --config admin-cluster.yaml --skip-validation-all
A execução desse comando importa as imagens para o vSphere e as marca como modelos de VM, incluindo a imagem do cluster de administrador.
Crie o cluster de administrador
Crie o cluster de administrador:
gkectl create admin --config admin-cluster.yaml
Retomar a criação do cluster de administrador após uma falha
Se a criação do cluster de administrador falhar ou for cancelada, será possível executar o comando create
novamente:
gkectl create admin --config admin-cluster.yaml
Localizar o arquivo kubeconfig 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.
Verificar se o cluster de administrador está em execução
Verifique se o cluster de administrador está em execução:
kubectl get nodes --kubeconfig kubeconfig
A saída mostra os nós do cluster de administrador. Exemplo:
gke-admin-master-hdn4z Ready control-plane,master ... gke-admin-node-7f46cc8c47-g7w2c Ready ... gke-admin-node-7f46cc8c47-kwlrs Ready ...
Criar um cluster de usuário
É possível criar um cluster de usuário para essa instalação simples no Console do Google Cloud ou na linha de comando na estação de trabalho do administrador. No momento, só é possível usar o Console do Google Cloud para criar clusters de usuários.
Console
Essa abordagem usa um serviço do Google Cloud chamado API GKE On-Prem para criar e gerenciar clusters no ambiente vSphere. Quando você cria um cluster de usuário no Console do Google Cloud, essa API é ativada automaticamente no projeto host da frota escolhido. Saiba mais sobre como isso funciona em Criar um cluster de usuário no Console do Google Cloud. Usar essa abordagem também significa que, como criador de clusters, você vai poder fazer login automaticamente no novo cluster no Console do Google Cloud com sua identidade do Google, embora precise configurar a autenticação para todos os outros usuários.
No console do Google Cloud, acesse a página Clusters do Anthos.
Selecione o projeto do Google Cloud em que você quer criar o cluster. O projeto selecionado também será o projeto host da frota. Precisa ser o mesmo projeto em que o cluster de administrador está registrado. Depois que o cluster de usuário é criado, ele é registrado automaticamente na frota do projeto selecionado.
Clique em Criar cluster.
Na caixa de diálogo, clique em No local.
Ao lado de VMware vSphere, clique em Configurar.
Verifique os pré-requisitos e clique em Continuar.
Noções básicas sobre clusters
- Insira um nome para o cluster de usuário.
Em Cluster de administrador, selecione o cluster de administrador criado anteriormente na lista. Se o cluster de administrador que você quer usar não for exibido, consulte a seção de solução de problemas O cluster de administrador não é exibido na lista suspensa de Noções básicas sobre clusters.
No campo Local da API GCP, selecione a região do Google Cloud na lista. Além de controlar a região em que a API GKE On-Prem é executada, essa configuração controla a região em que os seguintes itens estão armazenados:
- Os metadados do cluster de usuário de que a API GKE On-Prem precisa para gerenciar o ciclo de vida do cluster
- Geração de registros, monitoramento e auditoria de dados para componentes do sistema.
Os clusters do Anthos na versão VMware para seu cluster de usuário.
Clique em Continuar para acessar a seção Rede.
Rede
Nesta seção, você especificará os endereços IP para os nós, pods e serviços do cluster. Para essa instalação simples, o cluster precisa de um endereço para três nós e um endereço IP adicional que possa ser usado para um nó temporário durante o upgrade do cluster de usuário.
Na seção IPs de nó, especifique Estático como o Modo de IP do cluster.
Usando os endereços que você planejou anteriormente para os nós do cluster de usuário, preencha as seguintes informações:
- Digite o endereço IP do gateway para o cluster de usuário.
- Insira a máscara de sub-rede para os nós do cluster de usuário.
Na seção Endereços IP, insira os endereços IP e, opcionalmente, os nomes do host dos nós no cluster de usuários. É possível inserir um endereço IP v4 individual (como 192.0.2.1) ou um bloco CIDR de endereços IPv4 (como 192.0.2.0/24).
- Se você inserir um bloco CIDR, não insira um nome do host.
- Se você digitar um endereço IP individual, poderá inserir um nome do host. Se você não inserir um nome do host, os clusters do Anthos no VMware usarão o nome da VM do vSphere como o nome do host.
Clique em + Adicionar endereço IP conforme necessário para inserir mais endereços IP.
Deixe os valores padrão fornecidos na seção CIDRs de serviço e pod, a menos que você precise usar intervalos não padrão, conforme descrito em Evitar sobreposição.
Especifique as seguintes informações na seção Configuração do host:
- Insira os endereços IP dos servidores DNS que seu cluster de usuário pode usar.
- Digite os endereços IP dos servidores NTP.
Clique em Continuar para acessar a seção Balanceador de carga.
Balanceador de carga
Configure o MetalLB como o balanceador de carga.
Em Tipo de balanceador de carga, selecione MetalLB.
Na seção IPs virtuais, digite o seguinte:
Plano de controle VIP: o endereço IP de destino a ser usado para o tráfego enviado ao servidor da API Kubernetes do cluster de usuário. Esse endereço IP precisa estar no mesmo domínio L2 que os nós do cluster de administrador. Não adicione esse endereço na seção Pools de endereços.
Ingress VIP: o endereço IP a ser configurado no balanceador de carga para o proxy de entrada. Ele precisa ser incluído no pool de endereços especificado na seção Pools de endereço.
Na seção Pools de endereços, especifique um pool de endereços para o balanceador de carga, incluindo o VIP de entrada. Esses são os VIPs de serviço que você planejou anteriormente.
- Clique em + Adicionar intervalo de endereços IP.
- Insira um Nome para o pool de nós.
- Insira um intervalo de endereços IP em notação CIDR (como 192.0.2.0/26) ou notação de intervalo (como 192.0.2.64-192.0.2.72). Os endereços IP de cada pool não podem se sobrepor e precisam estar na mesma sub-rede que os nós do cluster.
- Em Atribuição de endereços IP, selecione Automático.
- Quando terminar, clique em Concluído.
Clique em Continuar.
Plano de controle
Use os valores padrão fornecidos nesta seção. Clique em Continuar.
Recursos
Desmarque Ativar grupos de antiafinidade. Ao configurar a infraestrutura mínima, você criou apenas um host ESXi, portanto, não ative grupos antiafinidade.
Clique em Continuar.
Pools de nós
Seu cluster precisa ter pelo menos um pool de nós. Um pool de nós é um modelo para os grupos de nós criados nesse cluster. Para mais informações, consulte Como criar e gerenciar pools de nós.
Verifique os valores padrão configurados para o pool de nós. Os valores padrão são suficientes para a infraestrutura mínima, mas é possível fazer ajustes conforme necessário.
Verificar e concluir
Clique em Verificar e concluir para criar o cluster de usuário. Leva 10 minutos ou mais para criar o cluster de usuário. O console do Google Cloud exibe mensagens de status durante a verificação das configurações e a criação do cluster no data center.
O login no cluster é feito automaticamente após a criação. Outros operadores precisam seguir as etapas em Como fazer login em um cluster no Console do Cloud para ter acesso ao cluster.
Se você encontrar um erro ao verificar as configurações, o Console do Google Cloud exibe uma mensagem de erro que deve ser clara o suficiente para que você corrija o problema de configuração e tente novamente criar o cluster.
Para mais informações sobre possíveis erros e como corrigi-los, consulte Resolver problemas na criação de clusters de usuário no console do Google Cloud.
Crie o arquivo kubeconfig do cluster de usuário
Para acessar o cluster de usuário no data center da linha de comando, você precisa
receber um arquivo kubeconfig
do cluster de administrador. Depois que
o console do Google Cloud indicar que o status do cluster de usuário está íntegro, execute o
comando a seguir na estação de trabalho de administrador para salvar um novo arquivo kubeconfig
localmente
no cluster de usuário. Substitua:
- CLUSTER_NAME: o nome do cluster de usuário recém-criado
- ADMIN_CLUSTER_KUBECONFIG especifica o caminho até o arquivo
kubeconfig
do cluster de administrador; - USER_CLUSTER_KUBECONFIG: o nome do arquivo
kubeconfig
do cluster de usuário gerado pelo comando
kubectl get secret admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ -n CLUSTER_NAME \ -o=jsonpath='{.data.admin\.conf}' | base64 -d > USER_CLUSTER_KUBECONFIG
Depois de salvar o arquivo, comece a acessar o cluster de usuário usando
kubectl
, como no exemplo a seguir:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces
Linha de comando
Verifique se você tem uma conexão SSH com a estação de trabalho do administrador, conforme descrito acima, antes de iniciar este procedimento. Todos os comandos a seguir são executados na estação de trabalho de administrador.
Como especificar IPs estáticos no cluster de usuário
Para especificar os endereços IP estáticos que você planejou anteriormente para os nós do cluster de usuário,
crie um
arquivo de bloco de IP
chamado user-cluster-ipblock.yaml
. Você precisa de três endereços IP para os nós de cluster
de usuário e de um endereço extra a ser usado temporariamente durante upgrades.
Veja um exemplo de um arquivo de bloco de IP com quatro endereços:
blocks:
- netmask: 255.255.255.0
gateway: 172.16.20.1
ips:
- ip: 172.16.20.55
hostname: user-vm-1
- ip: 172.16.20.56
hostname: user-vm-2
- ip: 172.16.20.57
hostname: user-vm-3
- ip: 172.16.20.58
hostname: user-vm-4
Preencher o arquivo de configuração do cluster de usuário
Quando gkeadm
criou a estação de trabalho do administrador, foi gerado um arquivo de configuração
chamado user-cluster.yaml
. Esse arquivo de configuração serve para criar o cluster de
usuário. Alguns dos campos já estão preenchidos para você com valores padrão, valores gerados ou valores que você forneceu ao configurar a estação de trabalho do administrador, como detalhes do vCenter: não altere esses valores para essa instalação simples.
Abra
user-cluster.yaml
para edição.Preencha os outros campos da seguinte maneira, usando as informações que você coletou anteriormente. Veja um arquivo de configuração de exemplo abaixo se você não souber como formatar campos ou consulte a referência do arquivo de configuração do cluster de usuário. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Campo ou seção | Instructions |
---|---|
name |
O nome que preferir para o cluster de usuário |
network.hostConfig.dnsServers |
Endereços IP para servidores DNS que as VMs de cluster podem usar. |
network.hostConfig.ntpServers |
Endereços IP para servidores de tempo que as VMs do cluster podem usar. |
network.ipMode.type |
Defina esse campo como "static" .
|
network.ipMode.ipBlockFilePath |
O caminho para user-cluster-ipblock.yaml . |
network.serviceCIDR e network.podCIDR |
Só altere esses valores se você precisar usar intervalos não padrão, conforme descrito em Evitar sobreposição. |
loadBalancer.vips.controlPlaneVIP |
O endereço IP virtual (VIP) que você escolheu para o servidor da API Kubernetes do cluster de usuário. |
loadBalancer.vips.ingressVIP |
O endereço IP virtual que você escolheu para ser configurado no balanceador de carga para o proxy de entrada. |
loadbalancer.kind |
Defina esse campo como "MetalLB" . |
loadbalancer.metalLB.addressPools |
Especifique um pool de endereços para o balanceador de carga. Esses são os VIPs de serviço que você planejou anteriormente. Forneça um name para o pool de endereços e o addresses escolhido. O pool de endereços precisa incluir o VIP de proxy de entrada.
|
nodePools |
Use os valores pré-preenchidos fornecidos para um único pool de nós, especificando o name escolhido. Defina enableLoadBalancer como true para o pool de nós. Isso é necessário para usar o MetalLB, porque ele é executado nos nós do cluster.
|
antiAffinityGroups |
Definir esse campo como "false" |
gkeConnect.projectID |
Definir esse campo com o ID do seu projeto do projeto do Google. |
gkeConnect.registerServiceAccountKeyPath |
Definir esse campo como a chave JSON da sua conta de serviço "connect-register". |
Exemplo de arquivo de configuração do cluster de usuário
Veja um exemplo de um arquivo de configuração de cluster de usuário preenchido:
apiVersion: v1 kind: UserCluster name: "my-user-cluster" gkeOnPremVersion: "1.11.0-gke.543" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" ipMode: type: "static" serviceCIDR: "10.96.0.0/20" podCIDR: "192.168.0.0/16" loadBalancer: vips: controlPlaneVIP: "172.16.20.61" ingressVIP: "172.16.20.62" kind: "MetalLB" metalLB: addressPools: - name: "uc-address-pool" addresses: - "172.16.20.62-172.16.20.72" nodePools: - name: "uc-node-pool" cpus: 4 memoryMB: 8192 replicas: 3 enableLoadBalancer: true antiAffinityGroups: enabled: false gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false autoRepair: enabled: true
Validar a configuração e criar o cluster
Verifique se o arquivo de configuração do cluster de usuário é válido e pode ser usado para a criação do cluster:
gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
Crie o cluster de usuário:
gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
A criação do cluster leva aproximadamente 30 minutos.
Localizar o arquivo kubeconfig do cluster de usuário
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.
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
Substitua USER_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig.
A saída mostra os nós do cluster de usuário. Exemplo:
my-user-cluster-node-pool-69-d46d77885-7b7tx Ready ... my-user-cluster-node-pool-69-d46d77885-lsvzk Ready ... my-user-cluster-node-pool-69-d46d77885-sswjk Ready ...
A seguir
Você concluiu esta instalação mínima dos clusters do Anthos no VMware. Como acompanhamento opcional, você pode ver sua instalação em ação implantando um aplicativo.