Neste documento, mostramos como criar clusters básicos para uma pequena instalação de prova de conceito de clusters do Anthos no VMware (GKE On-Prem).
Estas são as etapas principais:
Criar uma estação de trabalho de administrador.
Na estação de trabalho do administrador, crie um cluster de administrador.
Na estação de trabalho do administrador, crie um cluster de usuário.
Antes de começar
Configure os ambientes do vSphere e do Google Cloud conforme descrito em Configurar a infraestrutura mínima.
Coletar informações
Para se preparar para preencher um arquivo de configuração da estação de trabalho de administrador, colete as seguintes informações:
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
Os endereços IP descritos em Planejar seus endereços IP
O ID do seu projeto do Google Cloud.
O caminho do arquivo de chave JSON para sua conta de serviço de acesso a componentes
Fazer login
A ferramenta de linha de comando gkeadm
usa a propriedade account
do SDK para criar contas de serviço. Por isso, é importante
definir a propriedade account
do SDK antes de executar o gkeadm
para criar uma
estação de trabalho do administrador.
Faça login com qualquer Conta do Google: Isso define a propriedade account
do SDK:
gcloud auth login
Verifique se a propriedade account
do SDK está configurada 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]
Conceder papéis à conta do SDK
A conta do Google definida como a propriedade account
do SDK precisa ter estes
papéis do IAM para que gkeadm
possa criar contas de
serviço para você:
resourcemanager.projectIamAdmin
serviceusage.serviceUsageAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Para conceder papéis, é preciso ter determinadas permissões no projeto do Google Cloud. Para instruções detalhadas, veja Como conceder, alterar e revogar acesso a recursos.
Se tiver as permissões necessárias, você mesmo poderá conceder os papéis. Caso contrário, outra pessoa na sua organização precisará conceder esses papéis para você.
Para conceder os papéis:
Linux e macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Substitua:
PROJECT_ID
: o ID do seu projeto do Google Cloud;ACCOUNT
: o valor da propriedadeaccount
do SDK.
Criar uma estação de trabalho de administrador.
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
./gkeadm create config
O comando acima criou esses arquivos no diretório atual:
credential.yaml
admin-ws-config.yaml
Preencha credential.yaml
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"
Conhecer o arquivo de configuração da estação de trabalho de administrador
Verifique a documentação do arquivo de configuração da estação de trabalho de administrador para ter uma noção geral do conteúdo. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Preencha admin-ws-config.yaml
Abra admin-ws-config.yaml
para edição.
Os seguintes campos são preenchidos com valores padrão ou gerados:
vCenter: credentials: fileRef: credentials: entry: adminWorkstation: name: cpus: memoryMB: diskGB: dataDiskName: dataDiskMB: ntpServer:
Preencha o campo gcp.componentAccessServiceAccountKeyPath.
Preencha os seguintes campos na seção vCenter.
credentials: address: datacenter: datastore: cluster: network: caCertPath:
Defina vCenter.resourcePool como CLUSTER_NAME/recursos. Substitua CLUSTER_NAME pelo nome do cluster do vSphere.
Se necessário, preencha o campo proxyURL.
Se necessário, preencha o campo adminWorkstation.proxyURL.
Defina
adminWorkstation.network.ipAllocationMode
como "static"
.
Preencha os seguintes campos na seção adminWorkstation.network.hostConfig:
ip: gateway: netmask: dns:
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
Para criar a estação de trabalho de administrador e criar automaticamente contas de serviço:
./gkeadm create admin-workstation --auto-create-service-accounts
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.
Acesse os arquivos na 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
Liste os arquivos no diretório inicial:
ls -1
A saída inclui os arquivos de chave JSON para duas contas de serviço que gkeadm
criou para você: uma conta de serviço connect-register e uma conta de serviço
logging-monitoring. 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
Conseguir uma conexão SSH para a estação de trabalho do administrador
Especificar endereços IP estáticos para o cluster de administrador
Para especificar os endereços IP estáticos que você quer usar para seus nós de cluster de administrador, crie um
arquivo de bloco de IPs
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.
Conhecer o arquivo de configuração do cluster de administrador
Verifique a documentação do arquivo de configuração do cluster de administrador para ter uma noção geral do conteúdo do arquivo. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Preencher o arquivo de configuração do cluster de administrador.
Quando gkeadm
criou a estação de trabalho do administrador, foi gerado um arquivo de configuração
chamado admin-cluster.yaml
. Esse arquivo de configuração serve para criar seu cluster de
administrador.
Abra admin-cluster.yaml
para edição.
Vários campos no arquivo de configuração do cluster de administrador já estão preenchidos
com valores padrão, valores gerados ou valores fornecidos por você ao
criar a estação de trabalho do administrador: Deixe esses campos inalterados.
Preencha o campo vCenter.dataDisk.
Preencha os seguintes campos na seção network.hostConfig:
dnsServers: ntpServers:
Defina
network.ipMode.type
como "static"
.
Defina
network.ipMode.ipBlockFilePath
como "admin-cluster-ipblock.yaml"
.
Preencha ou mantenha os valores padrão para network.serviceCIDR e network.podCIDR. }
Preencha os seguintes campos na seção loadBalancer.vips:
controlPlaneVIP: addonsVIP:
Defina
loadBalancer.kind
como "MetalLB"
.
Defina
antiAffinityGroups.enabled
como false
.
Defina gkeConnect.projectID como o ID do projeto do Google Cloud.
Defina gkeConnect.registerServiceAccountKeyPath como o caminho do arquivo de chave JSON para 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" addonsVIP: "172.16.20.60" 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
Preparar o ambiente do vSphere.
Execute gkectl prepare
para inicializar o ambiente do vSphere:
gkectl prepare --config admin-cluster.yaml --skip-validation-all
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 no Console do Google Cloud ou na linha de comando na estação de trabalho do administrador.
Console
Nesta seção, mostramos como criar um cluster de usuário configurado para a infraestrutura mínima com o MetalLB como balanceador de carga.
Quando você cria um cluster de usuário, o console do Google Cloud ativa automaticamente a API GKE On-Prem no projeto do Google Cloud selecionado para a criação do cluster. A API GKE On-Prem é executada na infraestrutura do Google Cloud, e o console do Google Cloud usa essa API para criar o cluster no data center do vSphere. Para gerenciar seus clusters, a API GKE On-Prem precisa armazenar metadados sobre o estado do cluster na região do Google Cloud especificada ao criar o cluster. Esses metadados permitem que a API GKE On-Prem gerencie o ciclo de vida do cluster de usuário e não inclua dados específicos da carga de trabalho.
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 é usado como 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 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
- 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
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. Um cluster de usuário precisa ter um endereço IP para cada nó e um endereço IP extra a ser usado para um nó temporário durante o upgrade do cluster de usuário. Para mais informações, consulte De quantos endereços IP um cluster de usuário precisa?.
Na seção IPs de nós, selecione o Modo IP do cluster de usuário. Selecione uma destas opções:
DHCP: escolha DHCP se quiser que os nós do cluster recebam o endereço IP de um servidor DHCP.
Static: escolha Static se quiser fornecer endereços IP estáticos aos nós do cluster.
Se você tiver selecionado DHCP, pule para a próxima etapa para especificar os CIDRs de serviço e pod. Para o modo de IP estático, forneça as informações a seguir:
- 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.
Na seção CIDRs de serviços e pods, o console do Google Cloud fornece os seguintes intervalos de endereços para o serviço e pod do Kubernetes:
- CIDR de serviço: 10.96.0.0/20
- CIDR de pods: 192.168.0.0/16
Se você preferir inserir seus próprios intervalos de endereços, consulte Endereços IP para pods e serviços para ver práticas recomendadas.
Se você selecionou Modo de IP estático, especifique as seguintes informações na seção Configuração do host:
- Digite os endereços IP dos servidores DNS.
- Digite os endereços IP dos servidores NTP.
- Também é possível digitar domínios de pesquisa DNS.
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. Adicione isso a um pool de endereços na seção Pools de endereços.
Na seção Pools de endereços, especifique um pool de endereços para o VIP de entrada.
- Clique em + Adicionar intervalo de endereços IP.
- Insira um nome para o pool de endereços.
- Insira um intervalo de endereços IP em uma notação CIDR (por exemplo, 192.0.2.0/26) ou a notação de intervalo (por exemplo, 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 uma das seguintes opções:
- Automático: escolha essa opção se quiser que o controlador do MetalLB
atribua automaticamente endereços IP do pool de endereços a serviços
do tipo
LoadBalancer
. - Manual: escolha essa opção se você pretende usar endereços do pool para especificar manualmente os endereços para serviços do tipo
LoadBalancer
.
- Automático: escolha essa opção se quiser que o controlador do MetalLB
atribua automaticamente endereços IP do pool de endereços a serviços
do tipo
Clique em Evitar endereços IP com bugs se quiser que o controlador MetalLB não use endereços do pool que terminam em .0 ou .255. Isso evita o problema de dispositivos com bug de consumo que descartam o tráfego enviado para esses endereços IP especiais.
Repita quantas vezes forem necessárias. Quando terminar, clique em Concluído.
Clique em Continuar.
Plano de controle
Revise os valores padrão configurados para os nós no cluster de administrador que executam os componentes do plano de controle do cluster de usuário. Os valores padrão são suficientes para a infraestrutura mínima, mas é possível fazer ajustes conforme necessário.
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
O cluster será criado com 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 operador que cria o cluster de usuário no console do Google Cloud é conectado automaticamente ao cluster depois que ele é criado. Outros operadores precisam seguir as etapas em Como fazer login em um cluster no Console do Cloud para ter acesso ao cluster.
Se for encontrado um erro ao verificar as configurações, o console do Google Cloud exibirá uma mensagem de erro que deve estar clara o suficiente para que você corrija o problema de configuração e tente criar o cluster novamente.
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
, por exemplo:
kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces
Linha de comando
Conseguir uma conexão SSH para a estação de trabalho do administrador
Como especificar IPs estáticos no cluster de administrador
Para especificar os endereços IP estáticos que você quer usar para seu cluster de usuário, crie um arquivo de bloco de IPs 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.
Conhecer o arquivo de configuração do cluster de usuário.
Verifique a documentação do arquivo de configuração do cluster de usuários para ter uma noção geral do conteúdo do arquivo. Mantenha a página aberta em uma guia ou janela separada para fazer referência a ela ao preencher os valores dos campos.
Abra
user-cluster.yaml
para edição.Vários campos no arquivo de configuração do cluster de usuário já estão preenchidos com valores padrão, valores gerados ou valores fornecidos por você ao criar a estação de trabalho do administrador. Deixe esses campos inalterados.
Defina name como um nome de sua escolha para o cluster de usuário.
Preencher campos na seção de rede
Digite endereços IP para os seguintes campos na seção network.hostConfig:
dnsServers: ntpServers:
Defina network.ipMode.type como
"static"
.Defina network.ipMode.ipBlockFilePath como
"user-cluster-ipblock.yaml"
.Preencha ou mantenha os valores padrão para network.serviceCIDR e network.podCIDR. }
Preencher campos na seção do balanceador de carga
Preencha os seguintes campos na seção loadBalancer.vips:
controlPlaneVIP: ingressVIP:
Defina loadBalancer.kind como
"MetalLB"
.Preencha a seção loadBalancer.metalLB. Para mais informações, consulte Balanceamento de carga em pacote com o MetalLB.
Para pelo menos um dos pools de nós, defina enableLoadBalancer como
true
. Para mais informações, consulte Balanceamento de carga em pacote com o MetalLB.Defina antiAffinityGroups.enabled como
false
.
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.63-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 ...