Arquivo de configuração do cluster de administrador 1.30 e mais recente

Neste documento, descrevemos os campos no arquivo de configuração do cluster de administrador para as versões 1.30 e mais recentes do Google Distributed Cloud.

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

  • VERSION: o número da versão do Google Distributed Cloud. Por exemplo, gkectl create-config admin --gke-on-prem-version=1.33.100-gke.89. Essa versão tem que ser igual ou anterior à versão gkectl. Se você omitir essa flag, o modelo de configuração gerado será preenchido com valores baseados no patch 1.33 mais recente.

Modelo

Campos obrigatórios e valores padrão

Se um campo estiver marcado como Obrigatório, o arquivo de configuração concluído precisará ter um valor preenchido no campo.

Se um valor Padrão for fornecido para um campo, o cluster usará esse valor no campo se você não inserir algum. É possível substituir um valor padrão digitando um valor.

Se um campo não estiver marcado como "Obrigatório", ele será opcional. Você pode preenchê-lo se for relevante para você, mas não é necessário.

Como preencher o arquivo de configuração

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

enableAdvancedCluster

1.33 e versões mais recentes

Todos os novos clusters são criados como clusters avançados. Se você incluir esse campo no arquivo de configuração ao criar um novo cluster, ele precisará ser definido como true. Se você definir esse campo como false, a criação do cluster será bloqueada.

1.32

Opcional
Mutável (de false para true é permitido)
Booleano
Pré-preenchido: verdadeiro
Padrão: verdadeiro

Defina enableAdvancedCluster como false se não quiser ativar o cluster avançado ao criar um cluster. Quando essa flag é definida como true (cluster avançado ativado), o software do Google Distributed Cloud implanta controladores que permitem uma arquitetura mais extensível. Ao ativar o cluster avançado, você tem acesso a novos recursos e funcionalidades, como domínios de topologia. Esse campo é obrigatório se infraConfigFilePath estiver configurado.

Revise as diferenças ao executar clusters avançados antes de ativar um cluster avançado.

Para atualizar um cluster existente para um cluster avançado, consulte Atualizar um cluster para um cluster avançado. Depois de atualizar para o cluster avançado, não é possível desativar.

1.31

Disponível apenas para novos clusters
Prévia
Opcional
Imutável
Booleano
Pré-preenchido: falso
Padrão: falso

Defina enableAdvancedClusters como true para ativar o cluster avançado ao criar um novo cluster. Quando essa flag está ativada, o software Google Distributed Cloud subjacente implanta controladores que permitem uma arquitetura mais extensível. Ao ativar o cluster avançado, você tem acesso a novos recursos e funcionalidades, como domínios de topologia. Esse campo é obrigatório se infraConfigFilePath estiver configurado.

1.30 e versões anteriores

Indisponível.

name

Opcional
String
Padrão: um nome aleatório que começa 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 Google Distributed Cloud.

O arquivo do pacote completo do Google Distributed Cloud contém todos os componentes em uma versão específica do Google Distributed Cloud. 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

Se infraConfigFilePath estiver configurado, remova esse campo.

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 ou omita o campo.

Exemplo:

preparedSecrets:
  enabled: true

vCenter

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

Se infraConfigFilePath estiver configurado, remova toda esta seção. Caso contrário, essa seção é obrigatória e imutável.

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.

Exemplos:

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

vCenter.datacenter

String
Obrigatório
Imutável

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

String
Obrigatório
Imutável

O caminho relativo de um cluster do vSphere que representa os hosts ESXi em que as VMs do cluster do seu 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

String
Obrigatório
Imutável

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"

Caso contrário, o valor é um caminho relativo que tem dois ou mais pools de recursos.

Exemplo:

vCenter:
  resourcePool: "resource-pool-1/resource-pool-2"

vCenter.datastore

Obrigatório se vCenter.storagePolicyName não for especificado
String
imutável

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"

É necessário especificar um valor para vCenter.datastore ou vCenter.storagePolicyName, mas não ambos. Se você especificar um valor nesse campo, não especifique um valor em vCenter.storagePolicyName. O campo vCenter.datastore é imutável, exceto quando você define o campo como uma string vazia ao migrar um repositório de dados para o gerenciamento baseado em políticas de armazenamento (SPBM).

vCenter.storagePolicyName

Obrigatório se vCenter.datastore não for especificado
String
imutável

O nome de uma política de armazenamento de VM para os nós do cluster.

O cluster de administrador precisa ser altamente disponível (HA) para funcionar com a política de armazenamento.

Para mais informações, consulte Configurar uma política de armazenamento.

É necessário especificar um valor para vCenter.datastore ou vCenter.storagePolicyName, mas não ambos. Se você especificar um valor nesse campo, não especifique um valor em vCenter.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"

Ou o valor pode ser um caminho relativo que inclui mais de uma pasta.

Exemplo:

vCenter:
  folder: "folders/folder-1"

vCenter.dataDisk

Não forneça um valor para esse campo. Exclua o campo ou deixe-o comentado.

network

Obrigatório
Imutável

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

network.hostConfig

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 infraConfigFilePath estiver configurado, remova toda esta seção. Caso contrário, essa seção é obrigatória e imutável.

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

String
Imutável
Preenchido automaticamente: "static"
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".

Na maioria dos casos, especifique static porque é sempre necessário fornecer endereços IP para os nós do plano de controle do cluster de administrador. O DHCP é usado apenas para fornecer endereços IP nos seguintes casos:

  • Se enableControlplaneV2 não estiver ativado nos clusters de usuário, use o DHCP para os nós do plano de controle do cluster de usuário, que estão no cluster de administrador.

  • Na versão 1.16 e anteriores, os nós de complemento para clusters de administrador sem alta disponibilidade podem receber endereços IP do DHCP. Na versão 1.28 e mais recentes, os clusters de administrador precisam ser de alta disponibilidade e não têm nós de complemento.

Exemplo:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

O caminho absoluto ou relativo do arquivo de bloco IP do cluster.

Se infraConfigFilePath estiver configurado, esse campo será obrigatório.

Esse campo também é obrigatório nos seguintes casos:

  • Cluster de administrador não HA 1.16 e versões anteriores: liste os endereços IP do nó do plano de controle e dos nós de complemento em um arquivo de bloco de IP.

  • Cluster de administrador HA 1.16 e versões anteriores: liste os endereços IP dos nós de complemento em um arquivo de bloco de IP.

  • Clusters de usuário do kubeception 1.29 e versões anteriores: liste os endereços IP dos nós do plano de controle do cluster de usuário no arquivo de bloco de IP do cluster de administrador.

String
imutável

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"

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"

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ço e pod estejam no espaço de endereço RFC 1918.

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

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

Se infraConfigFilePath estiver configurado, remova esse campo. Caso contrário, esse campo é obrigatório e imutável.

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

Informações de rede para os nós do plano de controle do cluster de administrador.

Se infraConfigFilePath estiver configurado, remova toda esta seção. Caso contrário, essa seção é obrigatória e imutável.

network.controlPlaneIPBlock.netmask

Obrigatório
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
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
Imutável
Matriz de três objetos, cada um com um endereço IP e um nome do 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"

infraConfigFilePath

1.31

Especificar um caminho nesse campo ativa os domínios de topologia.

Visualização
Opcional
String
Mutável

Especifique o caminho completo do arquivo de configuração da infraestrutura do vSphere.

Exemplo:

infraConfigFilePath: "/my-config-folder/vsphere-infrastructure.yaml"

Além de adicionar o caminho, copie o arquivo de configuração da infraestrutura do vSphere para o diretório aplicável.

Se você adicionar um caminho a infraConfigFilePath, faça as seguintes mudanças nos arquivos de configuração do cluster de administrador e do cluster de usuário.

Mudanças no arquivo de configuração do cluster de administrador

  • Remova o seguinte do arquivo de configuração do cluster de administrador. Você configura essas informações no arquivo de configuração da infraestrutura do vSphere por domínio de topologia.

    • vCenter: remova toda a seção vCenter.
    • network.hostConfig: remova toda a seção network.hostConfig.
    • network.vCenter.networkName: remova este campo.
  • Faça as seguintes mudanças no arquivo de configuração do cluster de administrador:

    • network.controlPlaneIPBlock: remove toda a seção. Em vez disso, especifique os endereços IP dos nós do plano de controle do cluster de administrador em um arquivo de bloco de IP.

    • preparedSecrets: remova este campo. Credenciais preparadas não são compatíveis quando os domínios de topologia estão ativados. Remova este campo.

  • Os campos a seguir são obrigatórios:

    • enableAdvancedCluster: defina como true.

    • network.ipMode.ipBlockFilePath: definido como o caminho completo ou relativo do arquivo de bloco IP do cluster de administrador.

    • loadBalancer.kind: defina como "ManualLB". "ManualLB" é a única opção de balanceamento de carga de várias sub-redes (camada 3) disponível oferecida pelo Google Distributed Cloud.

Mudanças no arquivo de configuração do cluster de usuário

  • Remova o seguinte do arquivo de configuração do cluster de usuário. Você configura essas informações no arquivo de configuração da infraestrutura do vSphere por domínio de topologia.

    • vCenter: remova toda a seção vCenter.
    • network.hostConfig: remova toda a seção network.hostConfig.
    • network.vCenter.networkName: remova este campo.
    • masterNode.vsphere: remove toda a seção.
    • nodePools[i].vsphere.datastore e nodePools[i].vsphere.storagePolicyName: remova esses campos.
  • Faça as seguintes alterações no arquivo de configuração do cluster de usuário:

    • network.controlPlaneIPBlock: remove toda a seção. Em vez disso, especifique os endereços IP dos nós do plano de controle do cluster de administrador em um arquivo de bloco de IP.

    • preparedSecrets: remova este campo. Credenciais preparadas não são compatíveis quando os domínios de topologia estão ativados.

    • nodePools[i].vsphere.hostgroups: remova este campo. A afinidade VM-host não é compatível quando os domínios de topologia estão ativados.

    • multipleNetworkInterfaces: defina esse campo como false. Não há suporte para várias interfaces de rede para pods quando os domínios de topologia estão ativados.

    • storage.vSphereCSIDisabled: defina esse campo como true para desativar a implantação de componentes do CSI do vSphere.

  • Os campos a seguir são obrigatórios:

    • enableAdvancedCluster: defina como true no arquivo de configuração do cluster de usuário.

    • network.ipMode.ipBlockFilePath: defina como o caminho completo ou relativo do arquivo de bloco IP do cluster de usuário.

    • loadBalancer.kind: defina como "ManualLB". "ManualLB" é a única opção de balanceamento de carga de várias sub-redes (camada 3) disponível oferecida pelo Google Distributed Cloud.

1.30 e versões anteriores

Indisponível.

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

String
Obrigatório
Imutável

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

Especifique o tipo de balanceador de carga a ser usado.

1.32 e versões mais recentes

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

O tipo de balanceador de carga que você pode usar depende de se você vai configurar o cluster para usar domínios de topologia. O cluster usa domínios de topologia se o campo infraConfigFilePath estiver configurado.

  • Com domínios de topologia: defina como "ManualLB". É necessário configurar um balanceador de carga de terceiros (como F5 BIG-IP ou Citrix) se você quiser usar domínios de topologia.

  • Sem domínios de topologia: defina como "ManualLB" ou "MetalLB". Use "ManualLB" se você tiver um balanceador de carga de terceiros ou "MetalLB" para nossa solução em pacote.

Se enableAdvancedCluster estiver definido como true (cluster avançado ativado), o tipo de balanceador de carga para os nós do plano de controle será determinado por adminMaster.controlPlaneLoadBalancer.

Exemplo:

loadBalancer:
  kind: "MetalLB"

1.31

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

O tipo de balanceador de carga que você pode usar depende de se você vai configurar o cluster para usar domínios de topologia. O cluster usa domínios de topologia se o campo infraConfigFilePath estiver configurado.

  • Com domínios de topologia: defina como "ManualLB". É necessário configurar um balanceador de carga de terceiros (como F5 BIG-IP ou Citrix) se você quiser usar domínios de topologia.

  • Sem domínios de topologia: defina como "ManualLB" ou "MetalLB". Use "ManualLB" se você tiver um balanceador de carga de terceiros ou "MetalLB" para nossa solução em pacote.

Exemplo:

loadBalancer:
  kind: "MetalLB"

1,30

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

Defina como "ManualLB" ou "MetalLB". Use "ManualLB" se você tiver um balanceador de carga de terceiros (como F5 BIG-IP ou Citrix) ou "MetalLB" para nossa solução em pacote.

Observe as seguintes diferenças em relação às versões anteriores:

  • Na versão 1.30 e mais recentes, o valor "F5BigIP" não é permitido em novos clusters de administrador.

  • Na versão 1.28 e mais recentes, o valor "Seesaw" não é permitido para novos clusters de administrador.

Se você tem um cluster que usa esses balanceadores de carga, consulte Planejar a migração de clusters para recursos recomendados.

Exemplo:

loadBalancer:
  kind: "MetalLB"

1.29 e 1.28

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

Defina como "ManualLB", "F5BigIP" ou "MetalLB"

Para ativar recursos novos e avançados, recomendamos o uso de "ManualLB" se você tiver um balanceador de carga externo (como F5 BIG-IP ou Citrix) ou "MetalLB" para nossa solução em pacote.

Na versão 1.28 e mais recentes, o valor "Seesaw" não é permitido para novos clusters de administrador. Se você tem um cluster que usa o balanceador de carga Seesaw, consulte Migrar do balanceador de carga do Seesaw para o MetalLB.

Exemplo:

loadBalancer:
  kind: "MetalLB"

1.16 e versões anteriores

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"

Ao criar clusters de usuário usando o console Google Cloud , a CLI gcloud ou o Terraform, o tipo de balanceador de carga para o cluster de administrador e os clusters de usuário precisa ser o mesmo. A única exceção é se o cluster de administrador usa o Seesaw, e os clusters de usuário podem usar o MetalLB. Se você quiser que os clusters de administrador e de usuário usem tipos diferentes de balanceadores de carga, crie clusters de usuário usando a ferramenta de linha de comando gkectl.

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

1.30 e versões mais recentes

Na versão 1.30 e mais recentes, o valor "F5BigIP" não é permitido em loadbalancer.kind para novos clusters de administrador. Se a seção loadBalancer.f5BigIP estiver no arquivo de configuração, remova-a ou comente-a.

Ainda será possível usar o balanceador de carga do F5 BIG-IP com novos clusters de administrador, mas a configuração será diferente. Confira os detalhes de configuração em Como ativar o modo de balanceamento de carga manual.

Se um cluster já tiver essa seção configurada, os upgrades para a versão 1.32 serão bloqueados. É necessário migrar os clusters para recursos recomendados antes de fazer upgrade para a versão 1.32.

1,29

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

Para ativar recursos novos e avançados, recomendamos que você configure a configuração manual para o balanceamento de carga do F5 BIG-IP. Para ativar o balanceamento de carga manual, defina loadbalancer.kind como "ManualLB" e preencha a seção loadBalancer.manualLB. Para mais informações, consulte Como ativar o modo de balanceamento de carga manual.

Se você tem um balanceador de carga do F5-BIG-IP e a configuração do cluster usa essa seção, recomendamos que você migre para o balanceamento de carga manual depois de fazer upgrade para a versão 1.29 ou mais recentes.

1.28 e versões anteriores

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

Para ativar recursos novos e avançados, recomendamos que você configure a configuração manual para o balanceamento de carga do F5 BIG-IP. Para ativar o balanceamento de carga manual, defina loadbalancer.kind como "ManualLB" e preencha a seção loadBalancer.manualLB. Saiba mais em Como ativar o modo de balanceamento de carga manual.

loadBalancer.f5BigIP.address

1.30 e versões mais recentes

Não permitido para novos clusters
Obrigatório se loadBalancer.kind = "F5BigIp"
String
Imutável

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

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

1.29 e versões anteriores

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

1.30 e versões mais recentes

Não permitido para novos clusters
Obrigatório se loadBalancer.kind = "F5BigIp"
String
Mutável

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 Google Distributed Cloud pode usar para se conectar ao balanceador de carga do 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"

1.29 e versões anteriores

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 Google Distributed Cloud pode usar para se conectar ao balanceador de carga do 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

1.30 e versões mais recentes

Não permitido para novos clusters
Obrigatório se loadBalancer.kind = "F5BigIp"
String
Mutável

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"

1.29 e versões anteriores

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

1.30 e versões mais recentes

Não permitido para novos clusters
Obrigatório se loadBalancer.kind = "F5BigIp"
String
Imutável

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

Exemplo:

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

1.29 e versões anteriores

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

1.30 e versões mais recentes

Não permitido para novos clusters
Opcional
Relevante se loadBalancer.kind = "F5BigIp"
String
Imutável

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"

1.29 e versões anteriores

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

Não use esta seção. O balanceador de carga da Seesaw não é compatível com novos clusters de administrador na versão 1.28 e mais recentes. Em vez disso, recomendamos que você configure o balanceador de carga MetalLB para novos clusters de administrador. Para mais informações sobre como configurar o MetalLB, consulte Balanceamento de carga em pacote com o MetalLB.

Embora ainda seja possível usar a Seesaw para clusters de administrador sem HA que fizeram upgrade, recomendamos que você migre para o MetalLB.

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.

Se esse campo for true, o Google Distributed Cloud criará as regras de antiafinidade (DRS) do Programador de recursos distribuído do VMware para os nós do cluster de administrador, fazendo com que eles sejam distribuídos por, pelo menos, três hosts ESXi físicos no 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 se você não tiver pelo menos quatro hosts em que as VMs do vSphere possam ser programadas, defina antiAffinityGroups.enabled como false.

Observe a seguinte limitação com clusters avançados:

  • Versão 1.31: se o campo enableAdvancedCluster for true, as regras de antiafinidade não serão compatíveis com clusters avançados, e você precisará definir antiAffinityGroups.enabled como false.

  • Versão 1.32: as regras de antiafinidade são compatíveis com clusters avançados.

Exemplo:

antiAffinityGroups:
  enabled: true

adminMaster

Imutável

Configurações para os nós do plano de controle no cluster de administrador.

adminMaster.controlPlaneLoadBalancer

1.32 e versões mais recentes

Se quiser, inclua esta seção para especificar o tipo de balanceador de carga a ser usado para o tráfego do plano de controle no cluster de administrador. Inclua adminMaster.controlPlaneLoadBalancer.mode no arquivo de configuração se quiser definir explicitamente o tipo de balanceador de carga a ser usado em vez de confiar no valor padrão. Além disso, é necessário definir loadBalancer.kind no arquivo de configuração, mesmo que o campo não faça nada na versão 1.32 e mais recentes.

adminMaster.controlPlaneLoadBalancer.mode

Opcional
Imutável
String
Padrão: depende se o cluster usa domínios de topologia

O tipo de balanceador de carga que você pode usar depende de se você vai configurar o cluster para usar domínios de topologia. O cluster usa domínios de topologia se o campo infraConfigFilePath estiver configurado.

  • Com domínios de topologia: especifique "manual", que é o valor padrão. É necessário configurar um balanceador de carga de terceiros (como F5 BIG-IP ou Citrix) se você quiser usar domínios de topologia.

  • Sem domínios de topologia: especifique "manual" ou "bundled". Use "manual" se você tiver um balanceador de carga de terceiros ou "bundled" para nossa solução em pacote, que usa keepalived + haproxy executado nos três nós do plano de controle do cluster de administrador. O valor padrão é "bundled".

Exemplo:

adminMaster:
  controlPlaneLoadBalancer:
    mode: "manual"

1.31 e versões anteriores

Esta seção não está disponível. Em vez disso, use loadBalancer.kind para especificar o tipo de balanceador de carga que o cluster de administrador vai usar.

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

1.28 e versões mais recentes

Obrigatório para novos clusters
Número inteiro
Imutável
Valores possíveis: 3

O número de nós do plano de controle no cluster de administrador. Na versão 1.28 e mais recentes, os novos clusters de administrador precisam ser de alta disponibilidade (HA). Defina este campo como 3 para criar um cluster de administrador de alta disponibilidade com três nós de plano de controle.

Exemplo:

adminMaster:
  replicas: 3

1.16 e versões anteriores

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

adminMaster.topologyDomains

1.32 e versões mais recentes

Prévia
Opcional
Matriz de strings | Permite um elemento ou três elementos diferentes
Imutável
Padrão: vSphereInfraConfig.defaultTopologyDomain se especificado no arquivo de configuração da infraestrutura do vSphere

Uma matriz de domínios de topologia. Se infraConfigFilePath estiver configurado (o que indica que o cluster usará domínios de topologia), inclua esse campo, se quiser. O número de domínios de topologia na matriz determina como os nós do plano de controle do cluster de administrador são implantados, da seguinte maneira:

  • Um elemento: todos os três nós do plano de controle do cluster de administrador serão implantados no domínio de topologia especificado.
  • Três elementos: cada nó do plano de controle do cluster de administrador será implantado em um domínio de topologia diferente (ou seja, um nó por domínio de topologia).

1.31 e versões mais recentes

Disponível apenas para novos clusters
Prévia
Matriz de strings | Permite apenas um elemento
Opcional
Imutável
Padrão: vSphereInfraConfig.defaultTopologyDomain se especificado no arquivo de configuração da infraestrutura do vSphere

Uma matriz de domínios de topologia. Se infraConfigFilePath estiver configurado (o que indica que o cluster usará domínios de topologia), inclua esse campo, se quiser. Os nós do plano de controle do cluster de administrador serão implantados no domínio de topologia especificado.

1.30 e versões anteriores

Indisponível.

addonNode.autoResize.enabled

1.28 e versões mais recentes

Não inclua essa configuração no arquivo de configuração ao criar um novo cluster. Os clusters de administrador criados na versão 1.28 e mais recentes precisam ser de alta disponibilidade (HA) com três nós de plano de controle. Na versão 1.28 e mais recentes, os clusters de administrador de alta disponibilidade não têm nós de complemento.

1.16 e versões anteriores

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ários gerenciados por esse cluster de administrador.
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 Google Distributed Cloud. 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 Google Distributed Cloud envia uma solicitação para um desses endereços, hosts ou domínios, a solicitação é enviada diretamente.

Exemplo:

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

privateRegistry

Um registro de contêiner particular é um registro em que o acesso a imagens de contêiner é restrito a usuários autenticados. Preencha esta seção se os clusters de usuário precisarem acessar imagens de carga de trabalho. Ao configurar a seção privateRegistry, todos os clusters de usuários gerenciados por esse cluster de administrador vão extrair imagens de carga de trabalho do registro particular que você configurar aqui.

Se você configurar a seção privateRegistry, ao executar gkectl prepare antes da criação ou do upgrade do cluster, gkectl vai enviar as imagens do sistema do Google Distributed Cloud para o registro particular. Durante a criação ou o upgrade do cluster, as imagens do sistema são extraídas do registro particular. Se você não configurar a seção privateRegistry, as imagens do sistema serão extraídas de gcr.io/gke-on-prem-release usando a conta de serviço de acesso a componentes.

Convém configurar a seção privateRegistry para que os clusters extraiam imagens do sistema do registro particular em vez de gcr.io/gke-on-prem-release nos seguintes casos:

  • Você precisa minimizar as conexões com Google Cloud devido a problemas de segurança ou requisitos regulamentares.
  • Sua organização exige que o tráfego de saída passe por um servidor proxy, e a velocidade da rede para se conectar a Google Cloud está lenta.

Se você quiser usar o Artifact Registry do Google como um registro particular, consulte Usar o Artifact Registry como um registro particular para imagens de carga de trabalho para conferir as etapas de configuração.

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.

Exemplos:

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 Google Distributed Cloud pode usar para acessar seu registro particular.

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 Google Cloud e a conta de serviço necessários 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 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.location

String
Opcional
Imutável
Padrão: global

A assinatura de cada cluster de frota é gerenciada pelo serviço de frota (gkehub.googleapis.com) e pelo serviço Connect (gkeconnect.googleapis.com). O local dos serviços pode ser global ou regional. Na versão 1.28 e mais recentes, é possível especificar a região Google Cloudem que os serviços de frota e Connect são executados. Se não for especificada, as instâncias globais dos serviços serão usadas. Observe o seguinte:

  • Os clusters de administrador criados antes da versão 1.28 são gerenciados pelos serviços globais de frota e conexão.

  • Para novos clusters, se você incluir esse campo, a região especificada precisará ser a mesma configurada em cloudAuditLogging.clusterLocation, stackdriver.clusterLocation e gkeOnPremAPI.location. Se as regiões não forem iguais, a criação do cluster falhará.

Exemplo:

gkeConnect:
  location: "us-central1"

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 mais recentes, se a API GKE On-Prem estiver ativada no projetoGoogle Cloud , todos os clusters no projeto serão automaticamente registrados na API GKE On-Prem na região configurada em stackdriver.clusterLocation.

  • Se você quiser registrar todos os clusters do 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.

O registro do cluster de administrador na API GKE On-Prem permite usar ferramentas padrão (o console Google Cloud , a Google Cloud CLI ou o Terraform) para fazer upgrade de 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 essa API estiver ativada no seu projeto. Defina como false se você não quiser registrar o cluster.

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

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Imutável
String
Padrão: stackdriver.clusterLocation

A região Google Cloud em que a API GKE On-Prem é executada e armazena metadados do cluster. Escolha uma das regiões com suporte. É preciso usar a mesma região configurada em cloudAuditLogging.clusterLocation, gkeConnect.location e 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 quando você quer gerenciar o ciclo de vida de clusters de usuário usando 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 Google Cloud em que você quer rotear e armazenar métricas do Cloud Monitoring. Recomendamos que você escolha uma região próxima ao data center local.

Você especifica o roteamento e o local de armazenamento dos registros do Cloud Logging na configuração do roteador de registros. Para mais informações sobre o roteamento de registros, consulte Visão geral de roteamento e armazenamento.

O operador do Stackdriver (stackdriver-operator) anexa o valor desse campo a cada entrada de registro e métrica antes de serem encaminhadas para Google Cloud. Esses rótulos anexados podem ser úteis para filtrar seus registros e métricas no Explorador de registros e no Metrics Explorer, respectivamente.

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 cloudAuditLogging.clusterLocation, gkeConnect.location e gkeOnPremAPI.location. 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.

Se você criar o cluster com enableAdvancedCluster definido como true (o que é necessário para configurar domínios de topologia), stackdriver.serviceAccountKeyPath e cloudAuditLogging.serviceAccountKeyPath precisam ser iguais.

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 Google 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 quando você quer gerenciar o ciclo de vida de clusters de usuário usando 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 Google Cloud em que você quer armazenar os 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 gkeConnect.location, 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.

Se você criar o cluster com enableAdvancedCluster definido como true (o que é necessário para configurar domínios de topologia), cloudAuditLogging.serviceAccountKeyPath e stackdriver.serviceAccountKeyPath precisam ser iguais.

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

Opcional
Mutável
String

Por padrão, os arquivos tar de backup do cluster são salvos no diretório gkectl-workspace/backups na estação de trabalho de administrador. Se você quiser armazenar arquivos de backup de cluster no vSphere, defina este campo como o armazenamento de dados do vSphere em que você quer salvar os backups.

Exemplo:

clusterBackup:
  datastore: "my-datastore"

Observe as seguintes diferenças de suporte para esse campo:

  • Para clusters avançados:

    • Versão 1.31: remova clusterBackup.datastore do arquivo de configuração. Não é possível fazer backup de clusters em um armazenamento de dados do vSphere.

    • Versão 1.32: clusterBackup.datastore está em prévia

    • Versão 1.33 e mais recentes: clusterBackup.datastore está em GA.

  • Para clusters não avançados, clusterBackup.datastore permanece em prévia.

Para ver mais informações, consulte os seguintes tópicos:

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

Se você criar o cluster com enableAdvancedCluster definido como true (o que é necessário para configurar domínios de topologia), remova esta seção. Esse recurso não é compatível com clusters avançados.

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
Preenchido automaticamente: falso

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

Exemplo:

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

String
Opcional
Mutável
Valores possíveis: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2"
Preenchido automaticamente: "ubuntu_cgv2"
Padrão: "ubuntu_containerd"

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

Observe a seguinte limitação com clusters avançados:

  • Versão 1.31: se o campo enableAdvancedCluster for true, somente ubuntu-cgroupv2 e ubuntu_containerd serão compatíveis em clusters avançados.

  • Versão 1.32: todos os tipos de imagem do SO são compatíveis com clusters avançados.

Exemplo:

osImageType: "cos"