Use o console Google Cloud para criar um cluster de administrador para o software do Google Distributed Cloud
somente para VMware e usar uma interface gráfica do usuário para orientação estruturada. Você
também pode criar um cluster de administrador usando gkectl
ou o Google Cloud console.
Antes de começar
Verifique se você configurou e pode fazer login na estação de trabalho do administrador, conforme descrito em Criar uma estação de trabalho de administrador.
Verifique se os arquivos de chave JSON das contas de serviço estão na estação de trabalho do administrador.
Consulte o documento de planejamento de endereços IP. Verifique se há endereços IP suficientes disponíveis para os três nós do plano de controle e um VIP do plano de controle. Se você planeja criar clusters de usuários do kubeception, é necessário ter endereços IP suficientes disponíveis para os nós do plano de controle desses clusters de usuários.
Consulte a visão geral do balanceamento de carga e reveja sua decisão sobre o tipo de balanceador de carga que você quer usar. Para balanceadores de carga manuais, configure o balanceador antes de criar o cluster de administrador.
Se você estiver usando
gkectlpara criar o cluster de administrador, decida se quer usar um registro público ou particular para componentes do Google Distributed Cloud. Para informações sobre como usar um registro privado do Docker, consulteprivateRegistry. Nem o Terraform nem o console do Google Cloud permitem usar um registro particular do Docker para componentes do sistema.Decida que tipo de sistema operacional você quer executar nos nós de cluster de administrador.
Se a organização exigir que o tráfego de saída passe por um servidor proxy, inclua as APIs necessárias e o endereço do Artifact Registry na lista de permissões.
Na versão 1.29 e mais recentes, as verificações de simulação do lado do servidor são ativadas por padrão. Verificações de simulação do lado do servidor não exigem regras de firewall adicionais. Em Regras de firewall para clusters de administrador, pesquise "Verificações de simulação" e garantir que todas as regras de firewall necessárias sejam configurados. As verificações de simulação do lado do servidor são executadas no cluster de inicialização em vez de localmente na estação de trabalho do administrador.
Visão geral do procedimento
Antes de criar o cluster de administrador, você precisa executar o
comando gkectl register bootstrap na estação de trabalho do administrador. Esse comando
implanta um cluster do Kubernetes no Docker
(tipo) na estação de trabalho do administrador. Esse cluster de inicialização hospeda os
controladores do Kubernetes necessários para criar o cluster de administrador. Quando você cria o
cluster de administrador, os controladores no cluster de inicialização provisionam os nós,
executam verificações de simulação e registram o cluster de administrador na frota. O cluster de inicialização é excluído automaticamente após a criação do cluster de administrador.
Confira a seguir as etapas gerais para criar um cluster de administrador usando o console:
No console, insira as informações necessárias para o
gkectl register bootstrap. O console mostra o comandogkectl register bootstrapcom as informações que você inseriu. O comando mostrado também inclui flags para caminhos que precisam ser especificados antes da execução.Na estação de trabalho de administrador, execute
gkectl register bootstrappara criar o cluster de inicialização. Quando o comando terminar de criar o cluster de inicialização, a saída vai informar que você precisa concluir a configuração do cluster de administrador. O processo continua sendo executado até que o cluster de administrador seja criado.Você volta ao console para terminar de inserir as informações necessárias para criar o cluster. Durante a criação do cluster, o comando
gkectl register bootstrapgera informações de progresso e grava registros na estação de trabalho do administrador. Quando o cluster de administrador é criado, o cluster de inicialização é excluído automaticamente.
Começar a configurar o cluster
No console, acesse a página Criar um cluster no VMware.
Selecione o projeto Google Cloud em que você quer criar o cluster.
Quando você cria o cluster de inicialização em uma seção a seguir, o ID do projeto selecionado é mostrado no comando
gkectl register bootstrapna flag--project-id.Verifique se a opção Criar um cluster de administrador está selecionada.
Clique em Próxima: instalar ambiente de inicialização.
Instalar o ambiente de inicialização
Nesta seção, você insere as informações necessárias para o comando gkectl register bootstrap. À medida que você insere valores nos campos da UI, o
console copia os valores para as flags correspondentes do
comando gkectl register bootstrap exibido na seção
Ambiente de inicialização da estação de trabalho do administrador na parte de baixo
da página.
Noções básicas do ambiente de inicialização
Digite um Nome para o cluster de administrador. O console usa o nome do cluster como o valor da flag
--target-cluster-nameno comandogkectl register bootstrapexibido na parte de baixo da página. O nome pode ter até 20 caracteres.No campo Local da APIGoogle Cloud , selecione uma região Google Cloudna lista. Essa configuração especifica a região em que as seguintes APIs e serviços são executados:
- API GKE On-Prem (
gkeonprem.googleapis.com) - Serviço do Fleet (
gkehub.googleapis.com) - Serviço do Connect (
gkeconnect.googleapis.com)
Essa configuração também controla a região em que os seguintes itens são armazenados:
- Os metadados do cluster de que a API GKE On-Prem precisa para gerenciar o ciclo de vida do cluster
- Os dados do Cloud Logging e do Cloud Monitoring dos componentes do sistema
- O registro de auditoria do administrador criado pelos registros de auditoria do Cloud
O campo Google Cloud API Location corresponde à flag
--locationno comandogkectl register bootstrap.- API GKE On-Prem (
No campo Versão do cluster de administrador, insira a versão a ser usada para criar o cluster. A versão selecionada aqui precisa corresponder à versão do pacote especificada na flag
--bundle-pathdo comandogkectl register bootstrap.
Configuração do vCenter
Se você usou gkeadm para criar a estação de trabalho de administrador, abra o arquivo de configuração dela para copiar valores da seção vCenter para os campos no console. Observe que o arquivo de configuração do cluster de administrador gerado também contém essas informações.
A maioria dos campos nesta seção é imutável. Consulte a
seção vCenter
na referência do arquivo de configuração do cluster de administrador se precisar saber se um campo
é mutável ou imutável.
No campo Endereço, insira o endereço do vCenter Server.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.credentials.address.O campo Address corresponde à flag
--vcenter-addressno comandogkectl register bootstrap.
No campo Data center, insira o nome do data center do vCenter.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.datacenter.O campo Datacenter corresponde à flag
--vcenter-datacenterno comandogkectl register bootstrap.
No campo Nome do cluster, insira o nome do seu cluster do vCenter.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.cluster.O campo Nome do cluster corresponde à flag
--vcenter-clusterno comandogkectl register bootstrap.
No campo Pool de recursos, insira o nome ou o caminho do pool de recursos do vCenter.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.resourcePool.O campo Pool de recursos corresponde à flag
--vcenter-resource-poolno comandogkectl register bootstrap.
Configure uma opção de armazenamento inserindo uma das seguintes opções:
Campo Armazenamento de dados: insira o nome do seu armazenamento de dados do vCenter. O valor especificado precisa ser um nome, e não um caminho. Se você precisar inserir um caminho, faça isso no campo Pasta.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.datastore.O campo Datastore corresponde à flag
--vcenter-datastoreno comandogkectl register bootstrap.
Campo Nome da política de armazenamento: insira o nome da política de armazenamento de VM para os nós do cluster. Para mais informações, consulte Configurar uma política de armazenamento.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.storagePolicyName.O campo Nome da política de armazenamento corresponde à flag
--vcenter-storage-policyno comandogkectl register bootstrap.
Insira um valor no campo Datastore ou Nome da política de armazenamento, mas não nos dois.
Se quiser, no campo Pasta, insira o nome da pasta do vCenter em que as VMs do cluster estarão localizadas.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.folder.O campo Folder corresponde à flag
--vcenter-folderno comandogkectl register bootstrap.
No campo Rede, insira o nome da sua rede do vCenter.
Arquivo de configuração da estação de trabalho de administrador: use o valor do campo
vCenter.network.O campo Rede corresponde à flag
--vcenter-networkno comandogkectl register bootstrap.
No campo Caminho do certificado da CA, insira o caminho para o certificado de CA raiz do vCenter Server.
Se você usou
gkeadmpara criar a estação de trabalho do administrador,gkeadmcopiou o arquivo de certificado de CA que você tinha localmente para a estação de trabalho do administrador.O campo caminho do certificado de CA corresponde a
--vcenter-ca-cert-pathno comandogkectl register bootstrap.
Receber o certificado de CA
Depois de criar o cluster de bootstrap, você precisará fornecer o certificado de CA do vCenter no formato PEM no campo Dados do certificado de CA na página Noções básicas do cluster. Execute o comando a seguir para mostrar o certificado:
cat CA_CERT_PATH
Substitua CA_CERT_PATH pelo caminho do certificado de CA raiz do seu vCenter Server. Se você executar esse comando
localmente, use o caminho em vCenter.caCertPath no arquivo de configuração
da estação de trabalho do administrador.
Copie todo o certificado para um editor de texto para que você possa colá-lo no campo Dados do certificado de CA na página Noções básicas do cluster depois que o cluster de bootstrap for criado.
Ambiente de inicialização da estação de trabalho do administrador
Quando você executa o comando gkectl register bootstrap, ele solicita o nome de usuário e a senha da conta do vCenter. Verifique se você tem as credenciais disponíveis. Se você usou gkeadm para criar a estação de trabalho de administrador, o nome de usuário
e a senha estão no arquivo credential.yaml.
Role até a seção Ambiente de inicialização da estação de trabalho do administrador para mostrar o comando
gkectl register bootstrap.Deixe esta página aberta enquanto você acessa a estação de trabalho de administrador para criar o cluster de inicialização.
Copie e cole o comando
gkectl register bootstrapem um editor de texto para especificar valores para as seguintes flags:./gkectl register bootstrap \ ... --bundle-path=BUNDLE_PATH \ ... --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \ --admin-kubeconfig-out=KUBECONFIG_NAMESubstitua o seguinte pelos caminhos da estação de trabalho de administrador:
BUNDLE_PATH: o caminho para o arquivo do pacote. Se você usougkeadmpara criar a estação de trabalho de administrador, o arquivo de pacote está localizado em/var/lib/gke/bundles/. O nome do arquivo depende da versão do Google Distributed Cloud. Por exemplo,gke-onprem-vsphere-1.31.0-gke.889-full.tgz.COMPONENT_ACCESS_SA_PATH: o caminho para o arquivo de chave da conta de serviço de acesso a componentes.CONNECT_REGISTER_SA_PATH: o caminho para o arquivo de chave da conta de serviço connect-register.LOG_MON_SA_PATH: o caminho para o arquivo de chave da conta de serviço do Logging e do Monitoring.CLOUD_AUDIT_SA_PATH: o caminho para a conta de serviço de registro de auditoria. Se você não criou uma conta de serviço de registro de auditoria, especifique o caminho para o arquivo de chave da conta de serviço de registro e monitoramento.KUBECONFIG_NAME: o nome do arquivo kubeconfig que o comandogkectl register bootstrapcria. Se você não especificar essa flag, o comando vai criar o arquivo com o nomekubeconfigno diretório de trabalho atual. Se houver um arquivo chamadokubeconfig, o comando vai substituir esse arquivo.
Além disso, se você usou
gkeadmpara criar a estação de trabalho do administrador, ogkectlfoi baixado para o diretório/usr/bin/. Nesse caso, remova./do início do comando, já quegkectlnão está no diretório de trabalho atual.Use SSH para se conectar à estação de trabalho do administrador.
Copie e cole o comando em uma janela de terminal na estação de trabalho do administrador.
Quando solicitado, digite (ou copie e cole) o nome de usuário do vCenter. O nome de usuário não é repetido na tela.
Quando solicitado, digite (ou copie e cole) a senha do vCenter. A senha não é mostrada na tela.
O comando executa várias validações. Depois que gkectl criar o
cluster de inicialização, será exibida uma saída como esta, que está
truncada para facilitar a leitura:
Running workstation validations
- Validation Category: Workstation
- [SUCCESS] Workstation OS
- [SUCCESS] Workstation Hardware
- [SUCCESS] Workstation Package
- [SUCCESS] Workstation NTP
- [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
O processo continua sendo executado até que o cluster de administrador seja criado.
Se você sair do comando gkectl register bootstrap antes da criação do cluster de administrador, a criação vai falhar, e será necessário excluir o cluster de inicialização usando o seguinte comando:
gkectl delete bootstrap \
--target-cluster-name=ADMIN_CLUSTER_NAME \
--project-id=PROJECT_ID \
--location=REGION \
--register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Concluir a configuração do cluster de administrador
Volte ao console e siga estas etapas:
Na página Instalar ambiente de inicialização, clique em Verificar conexão.
Se o processo for bem-sucedido, o console exibirá Conexão estabelecida.
A conexão com o cluster de inicialização precisa ser estabelecida antes de você continuar. Se a conexão não estiver estabelecida, verifique os argumentos especificados para o comando
gkectl register bootstrap:Verifique se o valor de
--target-cluster-namecorresponde ao Nome do cluster de administrador exibido na seção Princípios básicos do ambiente de inicialização.Verifique se o valor de
--project-idcorresponde ao ID do projeto selecionado no console.
Se for preciso mudar o nome do cluster de inicialização, o ID do projeto ou outros valores de flag, faça o seguinte:
- Digite
Ctrl-Cpara sair dogkectl register bootstrap. Exclua o cluster de bootstrap:
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Execute novamente o comando
gkectl register bootstrap.
Clique em Próxima: conceitos básicos do cluster para começar a configurar o cluster de administrador.
Noções básicas sobre clusters
No campo dados do certificado de CA, copie e cole todo o certificado de CA do vCenter no formato PEM, conforme descrito anteriormente na seção Obter o certificado de CA.
Na seção Autorização, insira os endereços de e-mail dos usuários a quem você quer conceder a função de leitura do Kubernetes
clusterrole/view. Seu endereço de e-mail é adicionado automaticamente. As políticas de controle de acesso baseado em papéis (RBAC) aplicadas permitem que os usuários executem comandos somente leitura pelo gateway do Connect.Clique em Próximo plano de controle.
Plano de controle
Revise as configurações padrão na seção Plano de controle e mude-as conforme necessário.
Na seção IPs do nó do plano de controle, insira os endereços IP nos seguintes campos:
Gateway: o endereço IP do gateway padrão da sub-rede que tem os nós do cluster.
Máscara de rede: a máscara de rede da sub-rede que tem os nós do cluster.
Endereços IP: insira o endereço IP e, opcionalmente, o nome do host dos três nós do plano de controle.
Clique em Próxima: rede.
Rede
Nesta seção, você especifica as informações de rede necessárias para criar o cluster de administrador.
Na seção CIDRs de serviço e pod, aceite os valores padrão para os intervalos de endereços IP do serviço e do pod do Kubernetes ou insira intervalos de endereços CIDR diferentes.
CIDR de serviço: menor intervalo possível:
/24. Maior intervalo possível:/12.CIDR do pod: menor intervalo possível:
/18. O maior intervalo possível é /8.
Na seção Configuração do host, especifique os servidores NTP, os servidores DNS e, opcionalmente, os domínios de pesquisa DNS usados pelas VMs que são os nós do cluster. Após a criação do cluster, não é possível modificar esses valores.
Clique em Próxima: balanceador de carga.
Balanceador de carga
Nesta seção, você seleciona o tipo de balanceador de carga a ser usado. Para mais informações, consulte Visão geral do balanceamento de carga.
Na lista Tipo de balanceador de carga, selecione um balanceador de carga:
Em pacote com o MetalLB: o balanceador de carga MetalLB é fornecido com e requer menos configuração do que o balanceamento de carga manual. Os componentes do MetalLB são executados nos nós do cluster. Assim, você não precisa criar VMs separadas para o balanceador de carga.
Manual: é possível usar qualquer balanceador de carga de sua escolha, desde que você o configure antes de criar o cluster. Com qualquer balanceador de carga configurado manualmente, é necessário configurar mapeamentos entre IPs virtuais (VIPs), endereços de nó e valores de nodePort.
No campo VIP do plano de controle, insira o VIP a ser usado para o tráfego enviado ao servidor da API Kubernetes.
Clique em Verificar e criar.
O console exibe mensagens de status durante a verificação das configurações e a criação do cluster no data center.
Se houver um problema com a configuração, o console exibirá uma mensagem de erro que deve estar clara o suficiente para que você possa corrigi-lo e tente criar o cluster novamente.
Os detalhes sobre o processo de criação do cluster são gerados na estação de trabalho do administrador. Se as verificações de simulação forem aprovadas, você verá algo como:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Conectar-se ao cluster de administrador
O comando gkectl register bootstrap cria um arquivo kubeconfig para o
cluster de administrador na estação de trabalho do administrador. Se você não especificou a flag
--admin-kubeconfig-out ao executar gkectl register bootstrap, o
comando cria um arquivo kubeconfig chamado kubeconfig no diretório em
que você executou o comando.
É necessário restringir o acesso a esse kubeconfig, porque ele contém
as credenciais de autenticação do cluster.
Além disso, é possível executar comandos kubectl somente leitura pelo gateway de conexão.
Execute o comando a seguir em um computador com a CLI gcloud para receber uma entrada
kubeconfigque pode acessar o cluster pelo gateway de conexão.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=PROJECT_IDO resultado será o seguinte:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.Agora é possível executar comandos
kubectlsomente leitura pelo gateway de conexão, como os seguintes:kubectl get pods -ASe você precisar de privilégios administrativos completos para o cluster de administrador, consulte Configurar o gateway de conexão.