Criar clusters básicos

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:

  1. Criar uma estação de trabalho de administrador.

  2. Na estação de trabalho do administrador, crie um cluster de administrador.

  3. 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:

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 propriedade account 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.

  1. No console do Google Cloud, acesse a página "Clusters do Anthos".

    Acesse a página de clusters do Anthos

  2. 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.

  3. Clique em Criar cluster.

  4. Na caixa de diálogo, clique em No local.

  5. Ao lado de VMware vSphere, clique em Configurar.

  6. Verifique os pré-requisitos e clique em Continuar.

Noções básicas sobre clusters

  1. Insira um Nome para o cluster de usuário.
  2. 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.

  3. 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
  4. Os clusters do Anthos na versão VMware para seu cluster de usuário.

  5. 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?.

  1. 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.

  2. 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:

    1. Digite o endereço IP do gateway para o cluster de usuário.
    2. Insira a máscara de sub-rede para os nós do cluster de usuário.

    3. 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.
    4. Clique em + Adicionar endereço IP conforme necessário para inserir mais endereços IP.

  3. 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.

  4. Se você selecionou Modo de IP estático, especifique as seguintes informações na seção Configuração do host:

    1. Digite os endereços IP dos servidores DNS.
    2. Digite os endereços IP dos servidores NTP.
    3. Também é possível digitar domínios de pesquisa DNS.
  5. Clique em Continuar para acessar a seção Balanceador de carga.

Balanceador de carga

Configure o MetalLB como o balanceador de carga.

  1. Em Tipo de balanceador de carga, selecione MetalLB.

  2. 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.

  3. Na seção Pools de endereços, especifique um pool de endereços para o VIP de entrada.

    1. Clique em + Adicionar intervalo de endereços IP.
    2. Insira um nome para o pool de endereços.
    3. 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.
    4. 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.
    5. 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.

    6. Repita quantas vezes forem necessárias. Quando terminar, clique em Concluído.

  4. Clique em Continuar.

Plano de controle

  1. 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.

  2. Clique em Continuar.

Recursos

  1. Desmarque Ativar grupos de antiafinidade. Ao configurar a infraestrutura mínima, você criou apenas um host ESXi, portanto, não ative grupos antiafinidade.

  2. 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

  1. Conseguir uma conexão SSH para a estação de trabalho do administrador

  2. 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.

  1. 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.

  2. 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.

  3. Defina name como um nome de sua escolha para o cluster de usuário.

Preencher campos na seção de rede

  1. Digite endereços IP para os seguintes campos na seção network.hostConfig:

    dnsServers:
    ntpServers:
    
  2. Defina network.ipMode.type como "static".

  3. Defina network.ipMode.ipBlockFilePath como "user-cluster-ipblock.yaml".

  4. Preencha ou mantenha os valores padrão para network.serviceCIDR e network.podCIDR. }

Preencher campos na seção do balanceador de carga

  1. Preencha os seguintes campos na seção loadBalancer.vips:

    controlPlaneVIP:
    ingressVIP:
    
  2. Defina loadBalancer.kind como "MetalLB".

  3. Preencha a seção loadBalancer.metalLB. Para mais informações, consulte Balanceamento de carga em pacote com o MetalLB.

  4. 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.

  5. 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

  1. 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
    
  2. 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

Implementar um aplicativo