Arquivo de configuração do cluster de administrador

Nesta página, descrevemos os campos no arquivo de configuração do cluster de administrador do GKE em VMware.

Como gerar um modelo para o arquivo de configuração

Se você usou gkeadm para criar a estação de trabalho do administrador, gkeadm gerou um modelo do arquivo de configuração do cluster de administrador. Além disso, gkeadm preenche alguns campos.

Se você não usou gkeadm para criar a estação de trabalho do administrador, use gkectl para gerar um modelo para o arquivo de configuração do cluster de administrador.

Para gerar um modelo para o arquivo de configuração do cluster de administrador:

gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

Substitua OUTPUT_FILENAME por um caminho de sua escolha para o modelo gerado. Se você omitir essa sinalização, gkectl nomeará o arquivo admin-cluster.yaml e o colocará no diretório atual.

Substitua VERSION pelo número da versão desejado, que precisa ser igual ou menor que a versão gkectl. Por exemplo: gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0. Se você omitir essa sinalização, o modelo de configuração gerado será preenchido com valores com base na versão mais recente do cluster.

Modelo

Como preencher o arquivo de configuração

No arquivo de configuração, insira os valores de campo conforme descrito nas seções a seguir.

name

Opcional
String
Padrão: um nome aleatório com o prefixo "gke-admin-"

Um nome da sua escolha para o cluster.

Exemplo:

name: "my-admin-cluster"

bundlePath

Obrigatório
Mutável
String

O caminho do arquivo de pacote do GKE em VMware.

O arquivo de pacote completo do GKE em VMware contém todos os componentes em uma versão específica dessa solução. Quando você cria uma estação de trabalho de administrador, ela vem com um pacote completo em:

/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz

Exemplo:

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

preparedSecrets.enabled

Visualização
Opcional
Imutável
Booleano
Preenchido automaticamente: falso
Padrão: falso

Defina como true se quiser usar credenciais preparadas no cluster de administrador. Caso contrário, defina como false.

Exemplo:

preparedSecrets:
  enabled: true

vCenter

Obrigatório
Imutável

Nesta seção, você encontra informações sobre o ambiente vSphere e a conexão com o servidor vCenter.

vCenter.address

Obrigatório
Imutável
String

O endereço IP ou o nome do host do servidor vCenter.

Para mais informações, consulte Como encontrar seu endereço de servidor vCenter.

Por exemplo:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

Obrigatório
Imutável
String

O caminho relativo de um data center do vSphere.

O valor especificado é relativo à pasta-raiz chamada /.

Se o data center estiver na pasta-raiz, o valor será o nome do data center.

Exemplo:

vCenter:
  datacenter: "my-data-center"

Caso contrário, o valor é um caminho relativo que inclui uma ou mais pastas com o nome do data center.

Exemplo:

vCenter:
  datacenter: "data-centers/data-center-1"

vCenter.cluster

Obrigatório
Imutável
String

O caminho relativo de um cluster do vSphere que representa os hosts ESXi em que as VMs do cluster de administrador serão executadas. Esse cluster do vSphere representa um subconjunto dos hosts físicos ESXi no seu data center do vCenter.

O valor especificado é relativo a /.../DATA_CENTER/vm/.

Se o cluster do vSphere estiver na pasta /.../DATA_CENTER/vm/, o valor é o nome do cluster do vSphere.

Exemplo:

vCenter:
  cluster: "my-vsphere-cluster"

Caso contrário, o valor é um caminho relativo que inclui uma ou mais pastas com o nome do cluster do vSphere.

Exemplo:

vCenter:
  cluster: "clusters/vsphere-cluster-1"

vCenter.resourcePool

Obrigatório
Imutável
String

Um pool de recursos do vCenter para as VMs do cluster de administrador.

Se você quiser usar o pool de recursos padrão, defina como VSPHERE_CLUSTER/Resources.

Exemplo:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources"

Se você quiser usar um pool de recursos já criado, defina-o como o caminho relativo dele.

O valor especificado é relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Se o pool de recursos for um filho direto de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, o valor será o nome do pool de recursos.

Exemplo:

vCenter:
  resourcePool: "my-resource-pool"

Se o pool de recursos estiver aninhado em outro pool de recursos, defina-o como o caminho completo para o pool de recursos.

Exemplo:

vCenter:
  resourcePool: "my-vsphere-cluster/Resources/parent-resource-pool/child-resource-pool"

vCenter.datastore

Obrigatório
Imutável
String

O nome de um repositório de dados do vSphere para o cluster de administrador.

O valor especificado precisa ser um nome, e não um caminho. Não inclua pastas no valor.

Exemplo:

vCenter:
  datastore: "my-datastore"

vCenter.caCertPath

Obrigatório
Mutável
String

O caminho do certificado de CA para o servidor vCenter.

Para mais informações, consulte Como receber o certificado de CA do vCenter.

Para informações sobre como atualizar esse campo de um cluster atual, consulte Atualizar referências de certificado do vCenter.

Exemplo:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

vCenter.credentials.fileRef.path

Obrigatório
String

O caminho de um arquivo de configuração de credenciais que contém o nome de usuário e a senha da sua conta de usuário do vCenter. A conta de usuário precisa ter o papel de administrador ou privilégios equivalentes. Consulte os requisitos do vSphere.

Use gkectl update para atualizar esse campo em um cluster existente.

Para informações sobre como atualizar as credenciais do vCenter, consulte Como atualizar credenciais do cluster.

Exemplo:

vCenter:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

vCenter.credentials.fileRef.entry

Obrigatório
String

O nome do bloco de credenciais, no arquivo de configuração de credenciais, que contém o nome de usuário e a senha da conta de usuário do vCenter.

Use gkectl update para atualizar esse campo em um cluster existente.

Para informações sobre como atualizar as credenciais do vCenter, consulte Como atualizar credenciais do cluster.

Exemplo:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.folder

Opcional
Imutável
String
Padrão: pasta em todo o data center

O caminho relativo de uma pasta do vSphere que você já criou. Essa pasta contém as VMs do cluster do seu administrador.

Se você não especificar um valor, as VMs do cluster do seu administrador serão colocadas em /.../DATA_CENTER/vm/.

Se você especificar um valor, ele será relativo a /.../DATA_CENTER/vm/.

O valor pode ser o nome de uma pasta.

Exemplo:

vCenter:
  folder: "my-folder"

Se a pasta "vm" estiver aninhada em outra pasta "vm", defina-a como o caminho completo para sua pasta "vm".

Exemplo:

vCenter:
  folder: "/my-datacenter/vm/vm-folder/nested-vm-folder"

É necessário incluir o primeiro "/" no caminho completo da pasta da VM.

vCenter.dataDisk

Obrigatório
Imutável
String

O GKE em VMware cria um disco de máquina virtual (VMDK) para armazenar os dados do objeto do Kubernetes. O instalador cria o VMDK para você, mas é necessário fornecer um caminho relativo para o VMDK no campo vCenter.dataDisk.

O valor especificado é relativo a /.../DATA_CENTER/datastore/.

Se você quiser que o VMDK fique na pasta /.../DATA_CENTER/datastore/, o valor deve ser o nome do VMDK.

Se você definir adminMaster.replicas como 3, NÃO defina esse campo. Para o cluster de administrador de alta disponibilidade, os caminhos do disco de dados para as três máquinas do plano de controle de administrador serão gerados automaticamente em /anthos/ADMIN_CLUSTER/default/.

Exemplo:

vCenter:
  dataDisk: "my-disk.vmdk"

Caso contrário, o valor é um caminho relativo que inclui uma ou mais pastas com o nome do VMDK.

Exemplo:

vCenter:
  dataDisk: "data-disks/data-disk-1.vmdk"

Se você estiver usando um datastore vSAN, o VMDK precisa ficar em uma pasta já criada.

Use govc para criar uma pasta:

govc datastore.mkdir -namespace=true data-disks

network

Obrigatório
Imutável

Esta seção contém informações sobre a rede do cluster de administrador.

network.hostConfig

Imutável

Esta seção será necessária se uma ou mais das seguintes condições forem verdadeiras:

  • network.ipMode.type é definida como "static";
  • loadBalancer.kind é definida como "Seesaw";
  • adminMaster.replicas é definida como 3;

Esta seção contém informações sobre servidores NTP, servidores DNS e domínios de pesquisa DNS usados pelas VMs que são os nós do cluster. Se você estiver usando o balanceador de carga do Seesaw, essas informações também se aplicarão às VMs do Seesaw.

network.hostConfig.dnsServers

Obrigatório se a seção network.hostConfig estiver preenchida.
Imutável
Matriz de strings.
O número máximo de elementos na matriz é três.

Os endereços dos servidores DNS para as VMs.

Exemplo:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

Obrigatório se a seção network.hostConfig estiver preenchida.
Imutável
Matriz de strings

Os endereços dos servidores de horário a serem usados pelas VMs.

Exemplo:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Opcional
Imutável
Matriz de strings

Domínios de pesquisa DNS a serem usados pelas VMs. Esses domínios são usados como parte de uma lista de pesquisa de domínio.

Exemplo:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

Obrigatório
Imutável
String
Pré-preenchido: "dhcp"
Padrão: "dhcp"

Se você quiser que os nós do cluster recebam o endereço IP de um servidor DHCP, defina-o como "dhcp". Se quiser que os nós do cluster tenham endereços IP estáticos escolhidos em uma lista fornecida, defina-o como "static".

Exemplo:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obrigatório se network.ipMode.type = static
String
imutável

O caminho do arquivo de bloco IP do cluster.

Exemplo:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"

network.serviceCIDR

Obrigatório
Imutável
String
Menor intervalo possível: /24
Maior intervalo possível: /12
Pré-preenchido: "10.96.232.0/24"
Padrão: "10.96.232.0/24"

Um intervalo de endereços IP no formato CIDR a serem usados para serviços no cluster.

Exemplo:

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Obrigatório
Imutável
String
Menor intervalo possível: /18
Maior intervalo possível: /8
Pré-preenchido: "192.168.0.0/16"
Padrão: "192.168.0.0/16"

Um intervalo de endereços IP, no formato CIDR, a ser usado para pods no cluster.

Exemplo:

network:
  podCIDR: "192.168.0.0/16"

O intervalo de serviços não pode se sobrepor ao intervalo de pods.

Os intervalos de serviços e pods não podem se sobrepor a nenhum endereço fora do cluster que você queira acessar de dentro dele.

Por exemplo, suponha que seu intervalo de serviço seja 10.96.232.0/24 e seu intervalo de pod seja 192.168.0.0/16. Qualquer tráfego enviado de um pod para um endereço em qualquer um desses intervalos vai ser tratado como no cluster e não vai atingir nenhum destino fora dele.

Os intervalos de serviços e pods não podem se sobrepor a:

  • Endereços IP de nós em qualquer cluster

  • Endereços IP usados por máquinas de balanceador de carga

  • VIPs usados por nós do plano de controle e balanceadores de carga

  • Endereço IP dos servidores vCenter, DNS e NTP

Recomendamos que os intervalos de serviços e pods estejam no espaço de endereço RFC 1918 (link em inglês).

Veja um motivo por que recomendamos usar endereços RFC 1918. Suponha que o intervalo de pods ou de serviços contenha endereços IP externos. Qualquer tráfego enviado de um pod para um desses endereços externos será tratado como tráfego no cluster e não chegará ao destino externo.

network.vCenter.networkName

Obrigatório
Imutável
String

O nome da rede do vSphere para os nós do cluster.

Exemplo:

network:
  vCenter:
    networkName: "my-network"

Se o nome tiver um caractere especial, use uma sequência de escape.

Caracteres especiais Sequência de escape
Barra (/) %2f
Barra invertida (\) %5c
Sinal de porcentagem (%) %25

Se o nome da rede não for exclusivo no data center, é possível especificar um caminho completo.

Exemplo:

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

Se você quiser criar um cluster de administrador de alta disponibilidade, preencha esta seção. Caso contrário, remova a seção ou deixe-a comentada.

Um cluster de administrador de alta disponibilidade tem três nós que executam componentes do plano de controle.

Se você preencher essa seção, também precisará definir adminMaster.replicas como 3.

network.controlPlaneIPBlock.netmask

Obrigatório para um plano de controle de alta disponibilidade
Imutável
String

A máscara da rede que tem os nós do plano de controle.

Exemplo:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obrigatório para um plano de controle de alta disponibilidade
Imutável
String

O endereço IP do gateway padrão dos nós do plano de controle.

Exemplo:

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Obrigatório para um plano de controle de alta disponibilidade
Imutável
Matriz de três objetos, cada um com um endereço IP e um nome de host opcional.

Esses são os endereços IP que serão atribuídos aos nós do plano de controle.

Exemplo:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

loadBalancer

Esta seção contém informações sobre o balanceador de carga do cluster de administrador.

loadBalancer.vips.controlPlaneVIP

Obrigatório
Imutável
String

O endereço IP que você escolheu configurar no balanceador de carga para o servidor da API Kubernetes do cluster de administrador.

Exemplo:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"

String. Defina como "ManualLB", "F5BigIP", "Seesaw" ou "MetalLB"

Se você definir adminMaster.replicas como 3, não será possível usar o balanceador de carga Seesaw.

Exemplo:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Se você definir loadbalancer.kind como "ManualLB", preencha esta seção. Caso contrário, remova-a.
Imutável

loadBalancer.manualLB.ingressHTTPNodePort

Remova esse campo do arquivo de configuração. Ele não é usado em um cluster de administrador.

loadBalancer.manualLB.ingressHTTPSNodePort

Remova esse campo do arquivo de configuração. Ele não é usado em um cluster de administrador.

loadBalancer.manualLB.konnectivityServerNodePort

Remova esse campo do arquivo de configuração. Ele não é usado em um cluster de administrador.

loadBalancer.manualLB.controlPlaneNodePort

Obrigatório se loadBalancer.kind = "ManualLB" e adminMaster.replicas = 1
Imutável
Inteiro
Pré-preenchido: 30968

O servidor da API Kubernetes no cluster de administrador é exposto por um serviço do Kubernetes. É preciso escolher um valor nodePort para o serviço.

Defina esse campo como o valor nodePort.

Exemplo:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.f5BigIP

Se você definir loadbalancer.kind como "f5BigIP", preencha esta seção. Caso contrário, remova-a.

loadBalancer.f5BigIP.address

Obrigatório se loadBalancer.kind = "f5BigIp"
Imutável
String

O endereço do balanceador de carga F5 BIG-IP. Exemplo:

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Obrigatório se loadBalancer.kind = "f5BigIp"
Mutável
String

O caminho de um arquivo de configuração de credenciais que contém o nome de usuário e a senha de uma conta que o GKE em VMware pode usar para se conectar ao balanceador de carga F5 BIG-IP.

A conta de usuário precisa ter um papel de usuário com permissões suficientes para configurar e gerenciar o balanceador de carga. O papel "Administrador" ou "Administrador de recursos" é suficiente.

Use gkectl update para atualizar esse campo em um cluster existente.

Para informações sobre como atualizar suas credenciais do F5 BIG-IP, consulte Como atualizar credenciais do cluster.

Exemplo:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: ""my-config-folder/admin-creds.yaml"

loadBalancer.f5BigIP.credentialsfileRef.entry

Obrigatório se loadBalancer.kind = "f5BigIp"
Mutável
String

O nome do bloco de credenciais, no arquivo de configuração de credenciais, que contém o nome de usuário e a senha da conta F5 BIG-IP.

Use gkectl update para atualizar esse campo em um cluster existente.

Para informações sobre como atualizar suas credenciais do F5 BIG-IP, consulte Como atualizar credenciais do cluster.

Exemplo:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

loadBalancer.f5BigIP.partition

Obrigatório se loadBalancer.kind = "f5BigIp"
Imutável
String

O nome de uma partição BIG-IP que você criou para o cluster de administrador.

Exemplo:

loadBalancer:
  f5BigIP:
    partition: "my-f5-admin-partition"

loadBalancer.f5BigIP.snatPoolName

Opcional
Relevante se loadBalancer.kind = "f5BigIp"
Imutável
String

Se você estiver usando SNAT, o nome do pool de SNAT. Se você não estiver usando SNAT, remova esse campo.

Exemplo:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

Se você definir loadbalancer.kind como "Seesaw", preencha esta seção. Caso contrário, remova-a.
Imutável

Para informações sobre como configurar o balanceador de carga do Seesaw, consulte Balanceamento de carga em pacote com o Seesaw.

loadBalancer.seesaw.ipBlockFilePath

Obrigatório se loadBalancer.kind = "Seesaw"
Imutável
String

O caminho do arquivo de bloco IP para as VMs do Seesaw.

Exemplo:

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

Obrigatório se loadBalancer.kind = "Seesaw"
Imutável
Inteiro
Valores possíveis: 1 a 255

O identificador do roteador virtual da VM do Seesaw. Esse identificador, que é um número inteiro de sua escolha, precisa ser exclusivo em uma VLAN.

Exemplo:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Obrigatório se loadBalancer.kind = "Seesaw"
Imutável
Inteiro

String. O endereço IP virtual configurado na VM do Master Seesaw.

Exemplo:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Obrigatório se loadBalancer.kind = "Seesaw"
Mutável
Inteiro
Pré-preenchido: 2
Padrão:

O número de CPUs de cada uma das VMs do Seesaw.

Exemplo:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Obrigatório se loadBalancer.kind = "Seesaw"
Mutável
Inteiro
Pré-preenchido: 3072 Padrão: 1024

O número de mebibytes de memória de cada uma das VMs do Seesaw.

Exemplo:

loadBalancer:
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.vCenter.networkName

Opcional
Relevante se loadBalancer.kind = "Seesaw"
Imutável
String

O nome da rede vCenter que contém as VMs do Seesaw.

Exemplo:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

Opcional
Relevante se loadBalancer.kind = "Seesaw"
Imutável
Booleano
Pré-preenchido: falso
Padrão: falso

Defina como true, se quiser criar um balanceador de carga Seesaw altamente disponível (HA). Caso contrário, defina como false. Um balanceador de carga Seesaw de alta disponibilidade usa um par(mestre, backup) de VMs.

Exemplo:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Opcional
Relevante se loadBalancer.kind = "Seesaw"
Imutável
Booleano
Pré-preenchido: falso
Padrão: falso

Se você definir isso como true, o balaceador de carga de Seeaw não usará o aprendizado MAC para failover. Em vez disso, ele usa ARP gratuito. Se você definir isso como false, o balanceador de carga da Seesaw usará o aprendizado MAC. Recomendamos que você defina isso como true. Se você estiver usando o vSphere 7.0 ou uma versão posterior e tiver um balanceador de carga de alta disponibilidade da Seesaw, configure-o como true.

Exemplo:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

antiAffinityGroups.enabled

Opcional
Mutável
Booleano
Pré-preenchido: verdadeiro

Defina como true para ativar a criação de regras do DRS. Caso contrário, defina-o como false.

Exemplo:

antiAffinityGroups:
  enabled: true

Se esse campo for true, o GKE no VMware criará regras antiafinidade do Distributed Resource Scheduler (DRS) do VMware para os nós do cluster de administrador, fazendo com que eles sejam distribuídos por pelo menos três hosts físicos ESXi no seu data center.

Esse recurso exige que o ambiente vSphere atenda às seguintes condições:

  • O VMware DRS está ativado. O VMware DRS requer a edição de licença do vSphere Enterprise Plus.

  • Sua conta de usuário do vSphere tem o privilégio Host.Inventory.Modify cluster.

  • Há pelo menos quatro hosts ESXi disponíveis.

Embora a regra exija que os nós do cluster estejam espalhados em três hosts ESXi, recomendamos que você tenha pelo menos quatro hosts ESXi disponíveis. Isso evita que você perca o plano de controle do cluster de administrador. Por exemplo, suponha que você tenha apenas três hosts ESXi e seu nó do plano de controle do cluster de administrador esteja em um host ESXi que falha. A regra DRS impede que o nó do plano de controle seja colocado em um dos dois hosts ESXi restantes.

Lembre-se de que, se você tiver uma licença padrão do vSphere, não será possível ativar o VMware DRS.

Se a DRS não estiver ativada ou você não tiver pelo menos quatro hosts em que as VMs do vSphere possam ser programadas, defina antiAffinityGroups.enabled como false.

adminMaster

Visualização
Opcional
Imutável

Edite esta seção se você quiser fazer o seguinte:

  • Especificar CPUs para os nós do plano de controle do cluster de administrador
  • Especificar a memória para os nós do plano de controle do cluster de administrador
  • Criar cluster de administrador de alta disponibilidade

Caso contrário, deixe os valores pré-preenchidos como estão.

adminMaster.cpus

Visualização
Opcional
Imutável
Inteiro
Pré-preenchido: 4
Padrão: 4

O número de vCPUs de cada nó do plano de controle no cluster de administrador.

Exemplo:

adminMaster:
  cpus: 4

adminMaster.memoryMB

Visualização
Opcional
Imutável
Inteiro
Pré-preenchido; 16384
Padrão: 16384

O número de mebibytes de memória para cada nó do plano de controle no cluster de administrador.

Exemplo:

adminMaster:
  memoryMB: 16384

adminMaster.replicas

Opcional
Imutável
Inteiro
Valores possíveis: 1 ou 3
Pré-preenchido: 1
Padrão: 1

O número de nós do plano de controle no cluster de administrador. Defina como 3 se quiser criar um cluster de administrador de alta disponibilidade. Caso contrário, defina como 1.

Se você definir isso como 3, também precisará preencher a seção network.controlPlaneIPBlock e o network.hostConfig.

Se você definir como 3, não será possível usar o balanceador de carga Seesaw.

Exemplo:

adminMaster:
  replicas: 3

addonNode.autoResize.enabled

Opcional
Mutável
Booleano
Pré-preenchido: falso
Padrão: falso

Defina como true para ativar o redimensionamento automático dos nós de complemento no cluster de administrador. Outro define como false.

Para atualizar o valor deste campo, use gkectl update admin.

Exemplo:

addonNode:
  autoResize:
    enabled: true

proxy

Se a rede estiver protegida por um servidor proxy, preencha esta seção. Caso contrário, remova a seção ou deixe-a comentada. O servidor proxy especificado aqui é usado pelos clusters de usuário que este cluster de administrador gerencia.
Imutável

proxy.url

Obrigatório se a seção proxy estiver preenchida.
Imutável
String

O endereço HTTP do servidor proxy. Inclua o número da porta mesmo que ele seja igual à porta padrão do esquema.

Exemplo:

proxy:
  url: "http://my-proxy.example.local:80"

O servidor proxy especificado aqui é usado pelos clusters do GKE em VMware. Além disso, a estação de trabalho de administrador será configurada automaticamente para usar esse mesmo servidor proxy, a menos que você defina a variável de ambiente HTTPS_PROXY na estação de trabalho do administrador.

Se você especificar proxy.url, também precisará especificar proxy.noProxy.

Depois que a configuração de proxy do cluster de administrador for definida, ela não poderá ser modificada ou excluída, a menos que o cluster seja recriado.

proxy.noProxy

Opcional
Imutável
String

Uma lista separada por vírgulas de endereços IP, intervalos de endereços IP, nomes de host e nomes de domínio que não podem passar pelo servidor proxy. Quando o GKE em VMware envia uma solicitação para um desses endereços, hosts ou domínios, essa solicitação é enviada diretamente.

Exemplo:

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

Se você tiver um registro de contêiner particular, preencha esta seção. Caso contrário, remova esta seção ou deixe-a comentada.

privateRegistry.address

Obrigatório para registro privado
Imutável
String

O endereço IP ou FQDN (nome de domínio totalmente qualificado) da máquina que executa o registro privado.

Por exemplo:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

Obrigatório para registro privado
Mutável
String

O caminho de um arquivo de configuração de credenciais que contém o nome de usuário e a senha de uma conta que o GKE em VMware pode usar para acessar o registro privado.

Exemplo:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

Obrigatório para registro privado
Mutável
String

O nome do bloco de credenciais, no arquivo de configuração de credenciais, que contém o nome de usuário e a senha da sua conta do registro privado.

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.caCertPath

Obrigatório para registro privado
Mutável
String

Quando o ambiente de execução do contêiner extrai uma imagem do registro privado, o registro precisa comprovar a própria identidade com a apresentação de um certificado. O certificado do registro é assinado por uma autoridade certificadora (CA). O ambiente de execução do contêiner usa o certificado da CA para validar o certificado do registro.

Defina este campo como o caminho do certificado da CA.

Exemplo:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

componentAccessServiceAccountKeyPath

Obrigatório
Mutável
String

O caminho do arquivo de chave JSON para sua conta de serviço de acesso a componentes.

Exemplo:

componentAccessServiceAccountKeyPath: "my-key-folder/access-key.json"

gkeConnect

Obrigatório
Mutável

Ao preencher a seção gkeConnect, o cluster de administrador será registrado automaticamente em uma frota após ser criado. Esta seção contém informações sobre o projeto do Google Cloud e a conta de serviço necessárias para registrar o cluster.

Durante a criação ou atualização do cluster, várias políticas de RBAC são configuradas no cluster de administrador. Essas políticas do RBAC são necessárias para que você possa criar clusters de usuários no Console do Google Cloud.

gkeConnect.projectID

Obrigatório
Imutável
String

O ID do projeto host da frota. Para novos clusters, esse ID do projeto precisa ser igual ao ID definido em stackdriver.projectID e cloudAuditLogging.projectID. Se os IDs do projeto não forem iguais, a criação do cluster falhará. Esse requisito não se aplica a clusters que já existem.

Exemplo:

gkeConnect:
  projectID: "my-fleet-host-project"

gkeConnect.registerServiceAccountKeyPath

Obrigatório
Mutável
String

O caminho do arquivo de chave JSON para a conta de serviço de registro de conexão.

Exemplo:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

gkeOnPremAPI

Opcional

Na versão 1.16 e posterior, se a API GKE On-Prem estiver ativada no projeto do Google Cloud, todos os clusters no projeto serão registrados na API GKE On-Prem automaticamente na região configurada em stackdriver.clusterLocation.

  • Se você quiser registrar todos os clusters no projeto na API GKE On-Prem, siga as etapas em Antes de começar para ativar e usar a API GKE On-Prem no projeto.

  • Se você não quiser registrar o cluster na API GKE On-Prem, inclua esta seção e defina gkeOnPremAPI.enabled como false. Se você não quiser registrar clusters no projeto, desative gkeonprem.googleapis.com (o nome do serviço da API GKE On-Prem) no projeto. Para instruções, consulte Como desativar serviços.

Registrar seu cluster de administrador na API GKE On-Prem permite usar ferramentas padrão, como o console do Google Cloud, a Google Cloud CLI ou o Terraform, para fazer upgrade dos clusters de usuário gerenciados pelo cluster de administrador. O registro do cluster também permite executar comandos gcloud para receber informações sobre seus clusters.

Depois de adicionar esta seção e criar ou atualizar o cluster de administrador e, em seguida, remover a seção e atualizar o cluster, a atualização falhará.

gkeOnPremAPI.enabled

Obrigatório se a seção gkeOnPremAPI estiver inclusa.
Mutável
Booleano
Padrão: true

Por padrão, o cluster será registrado na API GKE On-Prem se ela estiver ativada no projeto. Defina como false se você não quiser registrar o cluster.

Depois que o cluster for registrado na API GKE On-Prem, se você precisar cancelar o registro do cluster, faça a seguinte alteração e atualize o cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Imutável
String
Padrão: stackdriver.clusterLocation

A região do Google Cloud em que a API GKE On-Prem é executada e armazena metadados de cluster. Escolha uma das regiões que oferecem suporte . É preciso usar a mesma região configurada em stackdriver.clusterLocation. Se gkeOnPremAPI.enabled for false, não inclua esse campo.

stackdriver

Obrigatório por padrão
Mutável

Se você quiser ativar o Cloud Logging e o Cloud Monitoring para o cluster, preencha esta seção. Caso contrário, remova-a.

Esta seção é obrigatória por padrão. Ou seja, se você não incluir essa seção, precisa incluir a sinalização --skip-validation-stackdriver ao executar gkectl create admin.

Esta seção é necessária no cluster de administrador se você quiser gerenciar o ciclo de vida de clusters de usuário que usam clientes da API GKE On-Prem.

stackdriver.projectID

Obrigatório para o Logging e o Monitoring
Imutável
String

O ID do projeto host da frota. Para novos clusters, esse ID do projeto precisa ser igual ao ID definido em gkeConnect.projectID e cloudAuditLogging.projectID. Se os IDs do projeto não forem iguais, a criação do cluster falhará. Esse requisito não se aplica a clusters que já existem.

Se necessário, configure um roteador de registros nesse projeto para rotear registros para buckets de registros em outro projeto. Para informações sobre como configurar o roteador de registros, consulte Destinos compatíveis.

Exemplo:

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

Obrigatório para o Logging e o Monitoring
Imutável
String
Pré-preenchido: "us-central1"

A região do Google Cloud onde você quer armazenar os registros. Convém escolher uma região próxima ao data center local.

Para novos clusters, se você incluir as seções gkeOnPremAPI e cloudAuditLogging no arquivo de configuração, a região definida aqui precisará ser igual àquela definida em gkeOnPremAPI.location e cloudAuditLogging.clusterLocation. Se as regiões não forem iguais, a criação do cluster falhará.

Exemplo:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Opcional
Imutável
Booleano
Pré-preenchido: falso

Se a rede do cluster for controlada por uma VPC, defina esse campo como true. Isso garante que toda a telemetria flua pelos endereços IP restritos do Google. Caso contrário, defina como false.

Exemplo:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Obrigatório para Logging e Monitoring
Mutável
String

O caminho do arquivo de chave JSON da conta de serviço de monitoramento de registros.

Para informações sobre como atualizar esse campo em um cluster atual, consulte Como alternar as chaves da conta de serviço.

Exemplo:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.disableVsphereResourceMetrics

Opcional
Mutável
Relevante para o Logging e o Monitoring
Booleano
Pré-preenchido: falso
Padrão: falso

Defina como true para desativar a coleta de métricas do vSphere. Caso contrário, defina como false.

Esta seção será necessária no cluster de administrador se você quiser gerenciar o ciclo de vida dos clusters de usuário no Console do Cloud.

Exemplo:

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

Se você quiser integrar os registros de auditoria do servidor da API Kubernetes do cluster com os registros de auditoria do Cloud, preencha essa seção. Caso contrário, remova a seção ou deixe-a comentada.
Mutável

Esta seção é necessária no cluster de administrador se você quiser gerenciar o ciclo de vida de clusters de usuário ao usar clientes da API GKE On-Prem.

cloudAuditLogging.projectID

Obrigatório para registros de auditoria do Cloud
Imutável
String

O ID do seu projeto host da frota. Para novos clusters, esse ID do projeto precisa ser igual ao ID definido em gkeConnect.projecID e stackdriver.projectID. Se os IDs do projeto não forem iguais, a criação do cluster falhará. Esse requisito não se aplica a clusters que já existem.

Se necessário, configure um roteador de registros nesse projeto para rotear registros para buckets de registros em outro projeto. Para informações sobre como configurar o roteador de registros, consulte Destinos compatíveis.

Exemplo:

cloudAuditLogging:
  projectID: "my-fleet-host-project"

cloudAuditLogging.clusterLocation

Obrigatório para registros de auditoria do Cloud
Imutável
String

A região do Google Cloud em que você quer armazenar registros de auditoria. É uma boa ideia escolher uma região próxima ao data center no local.

Para novos clusters, se você incluir as seções gkeOnPremAPI e stackdriver no arquivo de configuração, a região definida aqui precisará ser igual àquela definida em gkeOnPremAPI.location e stackdriver.clusterLocation. Se as regiões não forem iguais, a criação do cluster falhará.

Exemplo:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obrigatório para registros de auditoria do Cloud
Mutável
String

O caminho do arquivo de chave JSON da conta de serviço de geração de registros de auditoria.

Para informações sobre como atualizar esse campo em um cluster atual, consulte Como alternar as chaves da conta de serviço.

Exemplo:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

clusterBackup.datastore

Visualização
Opcional
Mutável
String

Se você quiser ativar o backup do cluster de administrador, defina-o como o armazenamento de dados do vSphere em que você quer salvar os backups de cluster.

Exemplo:

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

Opcional
Mutável
Booleano
Pré-preenchido: verdadeiro

Defina como true para ativar o reparo automático de nós. Caso contrário, defina como false.

Para atualizar o valor deste campo, use gkectl update admin.

Exemplo:

autoRepair:
  enabled: true

secretsEncryption

Se você quiser criptografar secrets sem a necessidade de um KMS (serviço de gerenciamento de chaves) externo ou de qualquer outra dependência, preencha essa seção. Caso contrário, remova a seção ou deixe-a comentada.
Imutável

secretsEncryption.mode

Obrigatório para criptografia de secrets
Imutável
String
Valor possível: "GeneratedKey"
Pré-preenchido: "GeneratedKey"

O modo de criptografia do Secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obrigatório para criptografia de Secrets
Mutável
Inteiro
Pré-preenchido: 1

Um número inteiro de sua escolha para usar como número da versão da chave. Recomendamos que você comece com 1.

Exemplo:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Opcional para criptografia de Secrets
Mutável
Booleano
Prenchido automaticamente: falso

Defina como true para desativar a criptografia de Secrets. Caso contrário, defina como false.

Exemplo:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Opcional
String
Valores possíveis: "ubuntu_containerd" ou "cos"
Pré-preenchido: "ubuntu_containerd"
Padrão: "ubuntu_containerd"

O tipo de imagem do SO a ser executada nos nós do cluster de administrador.

Exemplo:

osImageType: "cos"