Este documento descreve os campos no ficheiro de configuração do cluster de administrador para o Google Distributed Cloud das versões 1.30 e superiores.
Gerar um modelo para o seu ficheiro de configuração
Se usou o gkeadm
para criar a estação de trabalho de administrador, o gkeadm
gerou um modelo para o ficheiro de configuração do cluster de administrador. Além disso, o gkeadm
preencheu alguns dos campos por si.
Se não usou o gkeadm
para criar a sua estação de trabalho de administrador, pode usar o
gkectl
para gerar um modelo para o ficheiro de configuração do cluster de administrador.
Para gerar um modelo para o ficheiro de configuração do cluster de administrador:
gkectl create-config admin --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION
Substitua o seguinte:
OUTPUT_FILENAME
: um caminho à sua escolha para o modelo gerado. Se omitir esta flag,gkectl
atribui o nomeadmin-cluster.yaml
ao ficheiro e coloca-o 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.0-gke.799
. Esta versão tem de ser igual ou inferior à versão dogkectl
. Se omitir este indicador, o modelo de configuração gerado é preenchido com valores baseados na atualização 1.33 mais recente.
Modelo
Campos obrigatórios e valores predefinidos
Se um campo estiver marcado como Obrigatório, o ficheiro de configuração concluído tem de ter um valor preenchido para o campo.
Se for indicado um valor Predefinição para um campo, o cluster usa esse valor se não introduzir nada no campo. Pode substituir um valor predefinido introduzindo um valor.
Se um campo não estiver marcado como Obrigatório, é opcional. Pode preenchê-lo se for relevante para si, mas não tem de o fazer.
Preencher o ficheiro de configuração
No ficheiro de configuração, introduza os valores dos campos conforme descrito nas secções seguintes.
enableAdvancedCluster
1,33 e superior
Todos os novos clusters são criados como clusters avançados. Se incluir este campo no ficheiro de configuração ao criar um novo cluster, tem de o definir como true
. Se definir este campo como false
, a criação de clusters é bloqueada.
1,32
Opcional
Mutável (permitem-se valores de false
a true
)
Booleano
Pré-preenchido: verdadeiro
Predefinição: verdadeiro
Defina enableAdvancedCluster
como false
se não quiser ativar o cluster avançado quando criar um novo cluster. Quando esta flag está definida como true
(cluster avançado ativado), o software Google Distributed Cloud implementa controladores que permitem uma arquitetura mais extensível. A ativação do cluster avançado dá-lhe acesso a novas funcionalidades e capacidades, como domínios de topologia.
Este campo é obrigatório se infraConfigFilePath
estiver configurado.
Certifique-se de que revê as diferenças quando executa clusters avançados antes de ativar o cluster avançado.
Para atualizar um cluster existente para um cluster avançado, consulte o artigo Atualize um cluster para um cluster avançado. Após a atualização para o cluster avançado, não é permitido desativá-lo.
1.31
Disponível apenas para novos clusters
Pré-visualização
Opcional
Imutável
Booleano
Pré-preenchido: false
Predefinição: false
Defina enableAdvancedClusters
como true
para ativar o cluster avançado quando criar um novo cluster. Quando esta flag está ativada, o software Google Distributed Cloud subjacente implementa controladores que permitem uma arquitetura mais extensível. A ativação do cluster avançado dá-lhe acesso a novas funcionalidades, como domínios de topologia.
Este campo é obrigatório se infraConfigFilePath
estiver configurado.
1,30 e inferior
Não disponível.
name
Opcional
String
Predefinição: um nome aleatório que começa com o prefixo "gke-admin-"
Um nome à sua escolha para o cluster.
Exemplo:
name: "my-admin-cluster"
bundlePath
Obrigatório
Mutável
String
O caminho do ficheiro do pacote do Google Distributed Cloud.
O ficheiro do pacote completo do Google Distributed Cloud contém todos os componentes numa versão específica do Google Distributed Cloud. Quando cria uma estação de trabalho de administração, esta inclui 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 este campo.
Pré-visualização
Opcional
Imutável
Booleano
Preenchido previamente: false
Predefinição: false
Defina esta opção como true
se quiser usar
credenciais preparadas
no cluster de administração. Caso contrário, defina-o como false
ou omita o campo.
Exemplo:
preparedSecrets: enabled: true
vCenter
Estas secções contêm informações sobre o seu ambiente vSphere e a sua ligação ao vCenter Server.
Se infraConfigFilePath
estiver configurado,
remova esta secção na íntegra. Caso contrário, esta secção é obrigatória e imutável.
vCenter.address
Obrigatório
Imutável
String
O endereço IP ou o nome de anfitrião do seu servidor vCenter.
Para mais informações, consulte o artigo Encontrar o endereço do servidor vCenter.
Exemplos:
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 centro de dados do vSphere.
O valor que especificar é relativo à pasta raiz denominada /
.
Se o centro de dados estiver na pasta raiz, o valor é o nome do centro de dados.
Exemplo:
vCenter: datacenter: "my-data-center"
Caso contrário, o valor é um caminho relativo que inclui uma ou mais pastas juntamente com o nome do centro de dados.
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 anfitriões ESXi onde as VMs do cluster de administrador são executadas. Este cluster do vSphere representa um subconjunto dos anfitriões ESXi físicos no seu centro de dados do vCenter.
O valor que especificar é 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, juntamente 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 quiser usar o conjunto de recursos predefinido, defina esta opção como
VSPHERE_CLUSTER/Resources
.
Exemplo:
vCenter: resourcePool: "my-vsphere-cluster/Resources"
Se quiser usar um conjunto de recursos que já criou, defina este parâmetro como o caminho relativo do conjunto de recursos.
O valor que especificar é relativo a
/.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
Se o conjunto de recursos for um filho direto de
/.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/
o valor é o nome do conjunto de recursos.
Exemplo:
vCenter: resourcePool: "my-resource-pool"
Caso contrário, o valor é um caminho relativo que tem dois ou mais conjuntos de recursos.
Exemplo:
vCenter: resourcePool: "resource-pool-1/resource-pool-2"
vCenter.datastore
Obrigatório se vCenter.storagePolicyName
não estiver especificado
Imutável
String
O nome de um repositório de dados do vSphere para o cluster de administrador.
O valor especificado tem de ser um nome, não um caminho. Não inclua pastas no valor.
Exemplo:
vCenter: datastore: "my-datastore"
Tem de especificar um valor para vCenter.datastore
ou
vCenter.storagePolicyName
, mas não ambos. Se especificar um valor para este campo, não especifique um valor para vCenter.storagePolicyName
. O campo
vCenter.datastore
é imutável, exceto quando o define como uma string vazia quando
migra um arquivo de dados para a gestão baseada em políticas de armazenamento (SPBM).
vCenter.storagePolicyName
Obrigatório se vCenter.datastore
não estiver especificado
Imutável
String
O nome de uma política de armazenamento de VMs para os nós do cluster.
O cluster de administrador tem de estar altamente disponível (HA) para funcionar com a política de armazenamento.
Para mais informações, consulte o artigo Configure uma política de armazenamento.
Tem de especificar um valor para vCenter.datastore
ou
vCenter.storagePolicyName
, mas não ambos. Se especificar um valor para este campo, não especifique um valor para vCenter.datastore
.
vCenter.caCertPath
Obrigatório
Mutável
String
O caminho do certificado da AC para o seu servidor vCenter.
Para mais informações, consulte o artigo Obter o certificado da AC do vCenter.
Para ver informações sobre como atualizar este campo para um cluster existente, consulte o artigo Atualize as referências de certificados 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 ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe da sua conta de utilizador do vCenter. A conta de utilizador deve ter a função de administrador ou privilégios equivalentes. Consulte os requisitos do vSphere.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as credenciais do vCenter, consulte o artigo 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 ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe da sua conta de utilizador do vCenter.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as credenciais do vCenter, consulte o artigo Atualizar credenciais do cluster.
Exemplo:
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.folder
Opcional
Imutável
String
Predefinição: a pasta ao nível do centro de dados
O caminho relativo de uma pasta do vSphere que já criou. Esta pasta vai conter as VMs do cluster de administrador.
Se não especificar um valor, as VMs do cluster de administrador são colocadas em
/.../DATA_CENTER/vm/
.
Se especificar um valor, este é relativo a /.../DATA_CENTER/vm/
.
O valor pode ser o nome de uma pasta.
Exemplo:
vCenter: folder: "my-folder"
Em alternativa, o valor pode ser um caminho relativo que inclua mais do que uma pasta.
Exemplo:
vCenter: folder: "folders/folder-1"
vCenter.dataDisk
Não indique um valor para este campo. Elimine o campo ou deixe-o comentado.
network
Obrigatório
Imutável
Esta secção contém informações sobre a rede do cluster de administrador.
network.hostConfig
Esta secção contém informações sobre os servidores NTP, os servidores DNS e os domínios de pesquisa DNS usados pelas VMs que são os nós do cluster.
Se infraConfigFilePath
estiver configurado,
remova esta secção na íntegra. Caso contrário, esta secção é obrigatória e
imutável.
network.hostConfig.dnsServers
Obrigatório se a secçã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 secção network.hostConfig
estiver preenchida.
Imutável
Matriz de strings
Os endereços dos servidores de tempo que as VMs devem usar.
Exemplo:
network: hostConfig: ntpServers: - "216.239.35.0"
network.hostConfig.searchDomainsForDNS
Opcional
Imutável
Matriz de strings
Domínios de pesquisa de DNS para as VMs usarem. Estes domínios são usados como parte de uma lista de pesquisa de domínios.
Exemplo:
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Imutável
String
Preenchido previamente: "static"
Predefinição: "dhcp"
Se quiser que os nós do cluster obtenham o respetivo endereço IP a partir de um servidor DHCP,
defina esta opção como "dhcp"
. Se quiser que os nós do cluster tenham endereços IP estáticos escolhidos a partir de uma lista que fornecer, defina esta opção como "static"
.
Na maioria dos casos, deve especificar static
porque tem sempre de fornecer endereços IP para os nós do plano de controlo do cluster de administrador. O DHCP é usado apenas para fornecer endereços IP nos seguintes casos:
Se a opção
enableControlplaneV2
não estiver ativada nos clusters de utilizadores, pode usar o DHCP para os nós do plano de controlo do cluster de utilizadores, que estão no cluster de administrador.Na versão 1.16 e inferiores, os nós suplementares para clusters de administrador não de HA podem obter os respetivos endereços IP do DHCP. Na versão 1.28 e superior, os clusters de administrador têm de ser de alta disponibilidade e não têm nós de suplementos.
Exemplo:
network: ipMode: type: "static"
network.ipMode.ipBlockFilePath
O caminho absoluto ou relativo do ficheiro de blocos de IP para o seu cluster.
Se infraConfigFilePath
estiver configurado,
este campo é obrigatório.
Este campo também é obrigatório nos seguintes casos:
1.16 e inferior: liste os endereços IP do nó do plano de controlo e dos nós suplementares num ficheiro de bloco de IP.
1.16 e inferior HA admin cluster: liste os endereços IP dos nós de suplementos num ficheiro de bloco de IP.
1.29 e clusters de utilizadores kubeception inferiores: liste os endereços IP dos nós do plano de controlo do cluster de utilizadores no ficheiro de blocos de IP do cluster de administrador.
Imutável
String
Exemplo:
network: ipMode: ipBlockFilePath: "/my-config-folder/admin-cluster-ipblock.yaml"
network.serviceCIDR
Obrigatório
Imutável
String
Intervalo mais pequeno possível: /24
Intervalo mais amplo possível: /12
Pré-preenchido: "10.96.232.0/24"
Um intervalo de endereços IP, no formato CIDR, a ser usado para os serviços no seu cluster.
Exemplo:
network: serviceCIDR: "10.96.232.0/24"
network.podCIDR
Obrigatório
Imutável
String
Intervalo mais pequeno possível: /18
Intervalo mais largo possível: /8
Pré-preenchido: "192.168.0.0/16"
Um intervalo de endereços IP, no formato CIDR, a usar para os pods no seu cluster.
Exemplo:
network: podCIDR: "192.168.0.0/16"
O intervalo de serviço não pode sobrepor-se ao intervalo de agrupamento.
Os intervalos de serviços e de pods não podem sobrepor-se a nenhum endereço fora do cluster ao qual quer aceder a partir do interior do cluster.
Por exemplo, suponhamos que o seu intervalo de serviços é 10.96.232.0/24 e o seu intervalo de pods é 192.168.0.0/16. Todo o tráfego enviado de um pod para um endereço num desses intervalos é tratado como no cluster e não chega a nenhum destino fora do cluster.
Em particular, os intervalos de serviços e pods não podem sobrepor-se a:
Endereços IP de nós em qualquer cluster
Endereços IP usados por máquinas do balanceador de carga
VIPs usados por nós do plano de controlo e balanceadores de carga
Endereço IP dos servidores vCenter, servidores DNS e servidores NTP
Recomendamos que os intervalos de serviços e pods estejam no espaço de endereços RFC 1918.
Segue-se um motivo para a recomendação de usar endereços RFC 1918. Suponhamos que o intervalo do seu pod ou serviço contém endereços IP externos. Qualquer tráfego enviado de um pod para um desses endereços externos é tratado como tráfego no cluster e não chega ao destino externo.
network.vCenter.networkName
O nome da rede vSphere para os nós do cluster.
Se infraConfigFilePath
estiver configurado,
remova este campo. Caso contrário, este campo é obrigatório e imutável.
Exemplo:
network: vCenter: networkName: "my-network"
Se o nome contiver um carater especial, tem de usar uma sequência de escape para o mesmo.
Carateres especiais | Sequência de escape |
---|---|
Barra (/ ) |
%2f |
Barra invertida (\ ) |
%5c |
Sinal de percentagem (% ) |
%25 |
Se o nome da rede não for exclusivo no seu centro de dados, pode 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 controlo do cluster de administrador.
Se infraConfigFilePath
estiver configurado,
remova esta secção na íntegra. Caso contrário, esta secção é obrigatória e
imutável.
network.controlPlaneIPBlock.netmask
Obrigatório
Imutável
String
A máscara de rede da rede que tem os nós do plano de controlo.
Exemplo:
network: controlPlaneIPBlock: netmask: "255.255.255.0"
network.controlPlaneIPBlock.gateway
Obrigatório
Imutável
String
O endereço IP do gateway predefinido para os nós do plano de controlo.
Exemplo:
network: controlPlaneIPBlock: gateway: "172.16.22.1"
network.controlPlaneIPBlock.ips
Obrigatório
Imutável
Matriz de três objetos, cada um dos quais tem um endereço IP e um nome de anfitrião opcional.
Estes são os endereços IP que vão ser atribuídos aos nós do plano de controlo.
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
A especificação de um caminho neste campo ativa os domínios de topologia.
Pré-visualização
Opcional
String
Mutável
Especifique o caminho completo do ficheiro de configuração da infraestrutura do vSphere.
Exemplo:
infraConfigFilePath: "/my-config-folder/vsphere-infrastructure.yaml"
Além de adicionar o caminho, copie o ficheiro de configuração da infraestrutura do vSphere para o diretório aplicável.
Se adicionar um caminho a infraConfigFilePath
, tem de fazer as seguintes alterações aos ficheiros de configuração do cluster de administrador e do cluster de utilizadores.
Alterações ao ficheiro de configuração do cluster de administrador
Remova o seguinte do ficheiro de configuração do cluster de administrador. Pode configurar estas informações no ficheiro de configuração da infraestrutura do vSphere por domínio de topologia.
vCenter
: remova toda a secçãovCenter
.network.hostConfig
: remova toda a secçãonetwork.hostConfig
.network.vCenter.networkName
: remova este campo.
Faça as seguintes alterações no ficheiro de configuração do cluster de administrador:
network.controlPlaneIPBlock
: remover toda a secção. Em alternativa, especifique os endereços IP dos nós do plano de controlo do cluster de administrador num ficheiro de blocos de IP.preparedSecrets
: remova este campo. As credenciais preparadas não são suportadas quando os domínios de topologia estão ativados. Remova este campo.
Os seguintes campos são obrigatórios:
enableAdvancedCluster
: definido comotrue
.network.ipMode.ipBlockFilePath
: definido como o caminho completo ou relativo do ficheiro de bloco de IP do cluster de administrador.loadBalancer.kind
: definido como"ManualLB"
. O"ManualLB"
é a única opção de balanceamento de carga de várias sub-redes (camada 3) disponível que o Google Distributed Cloud oferece.
Alterações ao ficheiro de configuração do cluster de utilizadores
Remova o seguinte do ficheiro de configuração do cluster de utilizadores. Pode configurar estas informações no ficheiro de configuração da infraestrutura do vSphere por domínio de topologia.
vCenter
: remova toda a secçãovCenter
.network.hostConfig
: remova toda a secçãonetwork.hostConfig
.network.vCenter.networkName
: remova este campo.masterNode.vsphere
: remover toda a secção.nodePools[i].vsphere.datastore
enodePools[i].vsphere.storagePolicyName
: remova estes campos.
Faça as seguintes alterações no ficheiro de configuração do cluster de utilizadores:
network.controlPlaneIPBlock
: remover toda a secção. Em alternativa, especifique os endereços IP dos nós do plano de controlo do cluster de administrador num ficheiro de blocos de IP.preparedSecrets
: remova este campo. As credenciais preparadas não são suportadas quando os domínios de topologia estão ativados.nodePools[i].vsphere.hostgroups
: remova este campo. A afinidade VM-anfitrião não é suportada quando os domínios de topologia estão ativados.multipleNetworkInterfaces
: defina este campo comofalse
. Não são suportadas várias interfaces de rede para pods quando os domínios de topologia estão ativados.storage.vSphereCSIDisabled
: defina este campo comotrue
para desativar a implementação de componentes CSI do vSphere
Os seguintes campos são obrigatórios:
enableAdvancedCluster
: definido comotrue
no ficheiro de configuração do cluster de utilizadores.network.ipMode.ipBlockFilePath
: definido como o caminho completo ou relativo do ficheiro de bloco de IP do cluster de utilizadores.loadBalancer.kind
: definido como"ManualLB"
. O"ManualLB"
é a única opção de equilíbrio de carga de várias sub-redes (camada 3) disponível que o Google Distributed Cloud oferece.
1,30 e inferior
Não disponível.
loadBalancer
Esta secção contém informações sobre o equilibrador de carga do cluster de administrador.
loadBalancer.vips.controlPlaneVIP
Obrigatório
Imutável
String
O endereço IP que escolheu configurar no equilibrador 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 usar.
1.32 e superior
Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"
O tipo de equilibrador de carga que pode usar depende de configurar o cluster para usar domínios de topologia. Assume-se que o cluster usa domínios de topologia se o campo infraConfigFilePath
estiver configurado.
Com domínios de topologia: defina esta opção como
"ManualLB"
. Tem de configurar um equilibrador de carga de terceiros (como o F5 BIG-IP ou o Citrix) se quiser usar domínios de topologia.Sem domínios de topologia: defina esta opção como
"ManualLB"
ou"MetalLB"
. Use"ManualLB"
se tiver um equilibrador de carga de terceiros ou"MetalLB"
para a nossa solução integrada.
Se enableAdvancedCluster
estiver definido como true
(cluster avançado ativado), o tipo de balanceador de carga para
os nós do plano de controlo é determinado por
adminMaster.controlPlaneLoadBalancer
.
Exemplo:
loadBalancer:
kind: "MetalLB"
1.31
Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"
O tipo de equilibrador de carga que pode usar depende de configurar o cluster para usar domínios de topologia. Assume-se que o cluster usa domínios de topologia se o campo infraConfigFilePath
estiver configurado.
Com domínios de topologia: defina esta opção como
"ManualLB"
. Tem de configurar um equilibrador de carga de terceiros (como o F5 BIG-IP ou o Citrix) se quiser usar domínios de topologia.Sem domínios de topologia: defina esta opção como
"ManualLB"
ou"MetalLB"
. Use"ManualLB"
se tiver um equilibrador de carga de terceiros ou"MetalLB"
para a nossa solução integrada.
Exemplo:
loadBalancer:
kind: "MetalLB"
1,30
Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"
Defina esta opção como "ManualLB"
ou "MetalLB"
. Use "ManualLB"
se tiver um balanceador de carga de terceiros (como F5 BIG-IP ou Citrix) ou "MetalLB"
para a nossa solução integrada.
Tenha em atenção as seguintes diferenças em relação às versões anteriores:
Na versão 1.30 e superior, o valor
"F5BigIP"
não é permitido para novos clusters de administrador.Na versão 1.28 e superior, o valor
"Seesaw"
não é permitido para novos clusters de administrador.
Se tiver um cluster existente que use estes equilibradores de carga, consulte o artigo Planeie a migração do cluster para funcionalidades recomendadas.
Exemplo:
loadBalancer:
kind: "MetalLB"
1,29 e 1,28
Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"
Defina esta opção como "ManualLB"
, "F5BigIP"
ou "MetalLB"
Para ativar funcionalidades novas e avançadas, recomendamos que use "ManualLB"
se tiver um equilibrador de carga de terceiros (como o F5 BIG-IP ou o Citrix) ou
"MetalLB"
para a nossa solução integrada.
Na versão 1.28 e superior, o valor "Seesaw"
não é permitido para novos clusters de administrador.
Se tiver um cluster existente que use o balanceador de carga do Seesaw, consulte o artigo Migre do balanceador de carga do Seesaw para o MetalLB.
Exemplo:
loadBalancer:
kind: "MetalLB"
1,16 e inferior
Obrigatório
Imutável
String
Pré-preenchido: "MetalLB"
String. Defina esta opção como "ManualLB"
, "F5BigIP"
, "Seesaw"
ou "MetalLB"
Se definir adminMaster.replicas
como 3
, não pode usar o equilibrador de carga do Seesaw.
Exemplo:
loadBalancer:
kind: "MetalLB"
Quando cria clusters de utilizadores através da Google Cloud consola, da
CLI gcloud ou do Terraform, o tipo de equilibrador de carga para o cluster de administrador e os respetivos clusters de utilizadores tem de ser o mesmo. A única exceção é se o cluster de administrador usar o Seesaw. Nesse caso, os clusters de utilizador podem usar o MetalLB. Se quiser que os clusters de administrador e de utilizador usem diferentes tipos de equilibradores de carga, tem de criar clusters de utilizador com a ferramenta de linha de comandos gkectl
.
loadBalancer.manualLB
Se definir loadbalancer.kind
como "ManualLB"
, preencha esta secção. Caso contrário,
remova esta secção.
Imutável
loadBalancer.manualLB.ingressHTTPNodePort
Remova este campo do ficheiro de configuração. Não é usado num cluster de administração.
loadBalancer.manualLB.ingressHTTPSNodePort
Remova este campo do ficheiro de configuração. Não é usado num cluster de administração.
loadBalancer.manualLB.konnectivityServerNodePort
Remova este campo do ficheiro de configuração. Não é usado num cluster de administração.
loadBalancer.f5BigIP
1,30 e superior
Na versão 1.30 e superior, o valor "F5BigIP"
não é permitido para loadbalancer.kind
para novos clusters de administrador. Se a secção loadBalancer.f5BigIP
estiver no ficheiro de configuração, remova-a ou comente-a.
Pode continuar a usar o seu equilibrador de carga F5 BIG-IP com novos clusters de administrador, mas a configuração é diferente. Para ver detalhes da configuração, consulte o artigo Ativar o modo de equilíbrio de carga manual.
Se um cluster existente tiver esta secção configurada, as atualizações para a versão 1.32 são bloqueadas. Tem de migrar os seus clusters para as funcionalidades recomendadas antes de atualizar para a versão 1.32.
1,29
Se definir loadbalancer.kind
como "F5BigIP"
, preencha esta secção.
Caso contrário, remova esta secção.
Para ativar funcionalidades novas e avançadas, recomendamos que configure o equilíbrio de carga manual para o seu equilibrador de carga F5 BIG-IP. Para ativar o equilíbrio de carga manual, defina loadbalancer.kind
como"ManualLB"
e preencha a secção loadBalancer.manualLB
. Para mais
informações, consulte o artigo
Ativar o modo de equilíbrio de carga manual.
Se tiver um equilibrador de carga F5-BIG-IP existente e a configuração do cluster usar esta secção, após a atualização para a versão 1.29 ou superior, recomendamos que migre para o equilíbrio de carga manual.
1,28 e inferior
Se definir loadbalancer.kind
como "F5BigIP"
, preencha esta secção.
Caso contrário, remova esta secção.
Para ativar funcionalidades novas e avançadas, recomendamos que configure o equilíbrio de carga manual para o seu equilibrador de carga F5 BIG-IP. Para ativar o equilíbrio de carga manual, defina loadbalancer.kind
como"ManualLB"
e preencha a secção loadBalancer.manualLB
. Para mais
informações, consulte o artigo
Ativar o modo de equilíbrio de carga manual.
loadBalancer.f5BigIP.address
1,30 e superior
Não permitido para novos clusters
Obrigatório se loadBalancer.kind
= "F5BigIp"
Imutável
String
O endereço do seu equilibrador de carga F5 BIG-IP. Por exemplo:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
1,29 e inferior
Obrigatório se loadBalancer.kind
= "F5BigIp"
Imutável
String
O endereço do seu equilibrador de carga F5 BIG-IP. Por exemplo:
loadBalancer:
f5BigIP:
address: "203.0.113.2"
loadBalancer.f5BigIP.credentials.fileRef.path
1,30 e superior
Não permitido para novos clusters
Obrigatório se loadBalancer.kind
= "F5BigIp"
Mutável
String
O caminho de um ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe de uma conta que o Google Distributed Cloud pode usar para se ligar ao seu equilibrador de carga F5 BIG-IP.
A conta de utilizador tem de ter uma função de utilizador com autorizações suficientes para configurar e gerir o equilibrador de carga. A função de administrador ou a função de administrador de recursos é suficiente.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as suas credenciais do F5 BIG-IP, consulte o artigo Atualizar credenciais do cluster.
Exemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
1,29 e inferior
Obrigatório se loadBalancer.kind
= "F5BigIp"
Mutável
String
O caminho de um ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe de uma conta que o Google Distributed Cloud pode usar para se ligar ao seu equilibrador de carga F5 BIG-IP.
A conta de utilizador tem de ter uma função de utilizador com autorizações suficientes para configurar e gerir o equilibrador de carga. A função de administrador ou a função de administrador de recursos é suficiente.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as suas credenciais do F5 BIG-IP, consulte o artigo Atualizar credenciais do cluster.
Exemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
path: "my-config-folder/admin-creds.yaml"
loadBalancer.f5BigIP.credentialsfileRef.entry
1,30 e superior
Não permitido para novos clusters
Obrigatório se loadBalancer.kind
= "F5BigIp"
Mutável
String
O nome do bloco de credenciais no ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe da sua conta F5 BIG-IP.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as suas credenciais do F5 BIG-IP, consulte o artigo Atualizar credenciais do cluster.
Exemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
1,29 e inferior
Obrigatório se loadBalancer.kind
= "F5BigIp"
Mutável
String
O nome do bloco de credenciais no ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe da sua conta F5 BIG-IP.
Pode usar gkectl update
para atualizar este campo num cluster existente.
Para ver informações sobre como atualizar as suas credenciais do F5 BIG-IP, consulte o artigo Atualizar credenciais do cluster.
Exemplo:
loadBalancer:
f5BigIP:
credentials:
fileRef:
entry: "f5-creds"
loadBalancer.f5BigIP.partition
1,30 e superior
Não permitido para novos clusters
Obrigatório se loadBalancer.kind
= "F5BigIp"
Imutável
String
O nome de uma partição BIG-IP que criou para o seu cluster de administração.
Exemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
1,29 e inferior
Obrigatório se loadBalancer.kind
= "F5BigIp"
Imutável
String
O nome de uma partição BIG-IP que criou para o seu cluster de administração.
Exemplo:
loadBalancer:
f5BigIP:
partition: "my-f5-admin-partition"
loadBalancer.f5BigIP.snatPoolName
1,30 e superior
Não permitido para novos clusters
Opcional
Relevante se loadBalancer.kind
= "F5BigIp"
Imutável
String
Se estiver a usar SNAT, o nome do seu conjunto de SNAT. Se não estiver a usar o SNAT, remova este campo.
Exemplo:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
1,29 e inferior
Opcional
Relevante se loadBalancer.kind
= "F5BigIp"
Imutável
String
Se estiver a usar SNAT, o nome do seu conjunto de SNAT. Se não estiver a usar o SNAT, remova este campo.
Exemplo:
loadBalancer:
f5BigIP:
snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Não use esta secção. O equilibrador de carga do Seesaw não é suportado para novos clusters de administrador na versão 1.28 e superior. Em alternativa, recomendamos que configure o balanceador de carga do MetalLB para novos clusters de administrador. Para mais informações sobre a configuração do MetalLB, consulte o artigo Equilíbrio de carga integrado com o MetalLB.
Embora ainda suportemos o Seesaw para clusters de administrador sem HA que foram atualizados, recomendamos que migre para o MetalLB.
antiAffinityGroups.enabled
Opcional
Mutável
Booleano
Pré-preenchido: verdadeiro
Defina esta opção como true
para ativar a criação de regras de DRS. Caso contrário, defina este valor como
false
.
Se este campo for true
, o Google Distributed Cloud cria regras de antiafinidade do VMware
Distributed Resource Scheduler
(DRS) para os nós do cluster de administrador, o que faz com que sejam
distribuídos por, pelo menos, três anfitriões ESXi físicos no seu centro de dados.
Esta funcionalidade requer que o seu ambiente vSphere cumpra as seguintes condições:
O VMware DRS está ativado. O VMware DRS requer a edição vSphere Enterprise Plus.
A sua conta de utilizador do vSphere tem o privilégio
Host.Inventory.Modify cluster
.Estão disponíveis, pelo menos, quatro anfitriões ESXi.
Embora a regra exija que os nós do cluster estejam distribuídos por três anfitriões ESXi, recomendamos vivamente que tenha, pelo menos, quatro anfitriões ESXi disponíveis. Isto protege-o contra a perda do plano de controlo do cluster de administrador. Por exemplo, suponhamos que tem apenas três anfitriões ESXi e o nó do plano de controlo do cluster de administrador está num anfitrião ESXi com falhas. A regra DRS impede que o nó do plano de controlo seja colocado num dos dois anfitriões ESXi restantes.
Lembre-se de que, se tiver uma licença vSphere Standard, não pode ativar o VMware DRS.
Se não tiver o DRS ativado ou não tiver, pelo menos, quatro anfitriões onde as VMs do vSphere podem ser agendadas, defina antiAffinityGroups.enabled
como false
.
Tenha em atenção a seguinte limitação com os clusters avançados:
Versão 1.31: se o campo
enableAdvancedCluster
fortrue
, as regras de anti-afinidade não são suportadas em clusters avançados e tem de definirantiAffinityGroups.enabled
comofalse
.Versão 1.32: as regras de antiafinidade são suportadas em clusters avançados.
Exemplo:
antiAffinityGroups: enabled: true
adminMaster
Imutável
Definições de configuração para os nós do plano de controlo no cluster de administrador.
adminMaster.controlPlaneLoadBalancer
1.32 e superior
Opcionalmente, inclua esta secção para especificar o tipo de equilibrador de carga a usar
para o tráfego do plano de controlo no cluster de administrador. Inclua
adminMaster.controlPlaneLoadBalancer.mode
no ficheiro de configuração
se quiser definir explicitamente o tipo de equilibrador de carga a usar em vez de
confiar no valor predefinido. Além disso, tem de definir loadBalancer.kind
no ficheiro de configuração, mesmo que o campo não tenha efeito na versão 1.32 e superior.
adminMaster.controlPlaneLoadBalancer.mode
Opcional
Imutável
String
Predefinição: depende de o cluster usar domínios de topologia
O tipo de equilibrador de carga que pode usar depende de configurar o cluster para usar domínios de topologia. Assume-se que o cluster usa domínios de topologia se o campo infraConfigFilePath
estiver configurado.
Com domínios de topologia: especifique
"manual"
, que é o valor predefinido. Tem de configurar um equilibrador de carga de terceiros (como o F5 BIG-IP ou o Citrix) se quiser usar domínios de topologia.Sem domínios de topologia: especifique
"manual"
ou"bundled"
. Use"manual"
se tiver um equilibrador de carga de terceiros ou"bundled"
para a nossa solução integrada, que usa keepalived + haproxy em execução nos três nós do plano de controlo do cluster de administrador. O valor predefinido é "bundled"
.
Exemplo:
adminMaster:
controlPlaneLoadBalancer:
mode: "manual"
1,31 e inferior
Esta secção não está disponível. Em alternativa, use
loadBalancer.kind
para especificar o tipo de
equilibrador de carga que o cluster de administrador deve usar.
adminMaster.cpus
Pré-visualização
Opcional
Imutável
Número inteiro
Pré-preenchido: 4
Predefinição: 4
O número de vCPUs para cada nó do plano de controlo no cluster de administrador.
Exemplo:
adminMaster: cpus: 4
adminMaster.memoryMB
Pré-visualização
Opcional
Imutável
Número inteiro
Pré-preenchido: 16384
Predefinição: 16384
O número de mebibytes de memória para cada nó do plano de controlo no cluster de administração.
Exemplo:
adminMaster: memoryMB: 16384
adminMaster.replicas
1.28 e superior
Obrigatório para novos clusters
Imutável
Número inteiro
Valores possíveis: 3
O número de nós do plano de controlo no cluster de administrador. Na versão 1.28 e superior, os novos clusters de administrador têm de ter elevada disponibilidade (HA). Defina este campo como 3
para
criar um cluster de administrador de HA com 3 nós do plano de controlo.
Exemplo:
adminMaster:
replicas: 3
1,16 e inferior
Opcional
Imutável
Número inteiro
Valores possíveis: 1 ou 3
Pré-preenchido: 1
Predefinição: 1
O número de nós do plano de controlo no cluster de administrador. Defina esta opção como 3
se quiser criar um cluster de administrador de alta disponibilidade. Caso contrário, defina-o como 1
.
Se definir esta opção como 3
, também tem de preencher a secção network.controlPlaneIPBlock
e a secção network.hostConfig
.
Se definir esta opção como 3
, não pode usar o equilibrador de carga Seesaw.
Exemplo:
adminMaster:
replicas: 3
adminMaster.topologyDomains
1.32 e superior
Preview
Opcional
Matriz de strings | Permite um elemento ou três elementos diferentes
Imutável
Predefinição: vSphereInfraConfig.defaultTopologyDomain
se especificado no
ficheiro de configuração da infraestrutura do vSphere
Uma matriz de domínios de topologia. Se o
infraConfigFilePath
estiver configurado
(o que indica que o cluster vai usar
domínios de topologia), inclua este campo opcionalmente. O número de domínios de topologia na matriz determina
como os nós do plano de controlo do cluster de administrador são implementados, da seguinte forma:
- Um elemento: todos os três nós do plano de controlo do cluster de administrador são implementados no domínio de topologia especificado.
- Três elementos: cada nó do plano de controlo do cluster de administrador é implementado num domínio de topologia diferente (ou seja, um nó por domínio de topologia).
1.31 e superior
Disponível apenas para novos clusters
Pré-visualização
Matriz de strings | Permite apenas um elemento
Opcional
Imutável
Predefinição: vSphereInfraConfig.defaultTopologyDomain
se especificado no
ficheiro de configuração da infraestrutura do vSphere
Uma matriz de domínios de topologia. Se o
infraConfigFilePath
estiver configurado
(o que indica que o cluster vai usar
domínios de topologia), inclua este campo opcionalmente. Os nós do plano de controlo do cluster de administrador são implementados no domínio de topologia especificado.
1,30 e inferior
Não disponível.
addonNode.autoResize.enabled
1.28 e superior
Não inclua esta definição no ficheiro de configuração quando criar um novo cluster. Os clusters de administrador criados na versão 1.28 e superior têm de estar altamente disponíveis (HA) com três nós do plano de controlo. Na versão 1.28 e superior, os clusters de administrador de HA não têm nós suplementares.
1,16 e inferior
Opcional
Mutável
Booleano
Pré-preenchido: false
Predefinição: false
Defina esta opção como true
para ativar a alteração automática do tamanho dos nós do suplemento no cluster de administração. Caso contrário, defina-o como false
.
Para atualizar o valor deste campo, use gkectl update admin
.
Exemplo:
addonNode:
autoResize:
enabled: true
proxy
Se a sua rede estiver protegida por um servidor proxy, preencha esta secção. Caso contrário,
remova esta secção ou deixe-a comentada. O servidor proxy que especificar aqui é usado pelos clusters de utilizadores que este cluster de administrador gere.
Imutável
proxy.url
Obrigatório se a secção proxy
estiver preenchida.
Imutável
String
O endereço HTTP do seu servidor proxy. Inclua o número da porta, mesmo que seja o mesmo que a porta predefinida do esquema.
Exemplo:
proxy: url: "http://my-proxy.example.local:80"
O servidor proxy que especificar aqui é usado pelos seus clusters do Google Distributed Cloud. Além disso, a estação de trabalho do administrador é configurada automaticamente para usar este mesmo servidor proxy, a menos que defina a variável de ambiente HTTPS_PROXY
na estação de trabalho do administrador.
Se especificar proxy.url
, também tem de especificar proxy.noProxy
.
Depois de definir a configuração do proxy para o cluster de administrador, não é possível modificá-la nem eliminá-la, a menos que o cluster seja reconstruído.
proxy.noProxy
Opcional
Imutável
String
Uma lista separada por vírgulas de endereços IP, intervalos de endereços IP, nomes de anfitriões e nomes de domínios que não devem passar pelo servidor proxy. Quando o Google Distributed Cloud envia um pedido para um destes endereços, anfitriões ou domínios, o pedido é enviado diretamente.
Exemplo:
proxy: noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"
privateRegistry
Um registo de contentores privado é um registo onde o acesso a imagens de contentores está restrito a utilizadores autenticados. Preencha esta secção se os seus clusters de utilizadores precisarem de aceder a imagens de cargas de trabalho. Quando configura a secção privateRegistry
, todos os clusters de utilizadores geridos por este cluster de administrador vão extrair imagens de cargas de trabalho do registo privado que configurar aqui.
Se configurar a secção privateRegistry
, quando executar gkectl prepare
antes da criação ou atualização do cluster, gkectl
envia as imagens do sistema Google Distributed Cloud
para o registo privado. Durante a criação ou a atualização do cluster, as imagens do sistema são extraídas do registo privado. Se não configurar a secção privateRegistry
, as imagens do sistema são extraídas de gcr.io/gke-on-prem-release
através da conta de serviço de acesso aos componentes.
É recomendável configurar a secção privateRegistry
para que os clusters extraiam
imagens do sistema do registo privado em vez de gcr.io/gke-on-prem-release
nos seguintes casos:
- Tem de minimizar as ligações ao Google Cloud devido a preocupações de segurança ou requisitos regulamentares.
- A sua organização requer que o tráfego de saída passe por um servidor proxy e a velocidade da rede para estabelecer ligação ao Google Cloud é lenta.
Se quiser usar o Artifact Registry da Google como um registo privado, consulte o artigo Use o Artifact Registry como um registo privado para imagens de cargas de trabalho para ver os passos de configuração.
privateRegistry.address
Obrigatório para o registo privado
Imutável
String
O endereço IP ou o FQDN (nome do domínio totalmente qualificado) da máquina que executa o seu registo privado.
Exemplos:
privateRegistry: address: "203.0.113.10"
privateRegistry: address: "fqdn.example.com"
privateRegistry.credentials.fileRef.path
Obrigatório para o registo privado
Mutável
String
O caminho de um ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe de uma conta que o Google Distributed Cloud pode usar para aceder ao seu registo privado.
Exemplo:
privateRegistry: credentials: fileRef: path: "my-config-folder/admin-creds.yaml"
privateRegistry.credentials.fileRef.entry
Obrigatório para o registo privado
Mutável
String
O nome do bloco de credenciais no ficheiro de configuração de credenciais que contém o nome de utilizador e a palavra-passe da sua conta de registo privado.
privateRegistry: credentials: fileRef: entry: "private-registry-creds"
privateRegistry.caCertPath
Obrigatório para o registo privado
Mutável
String
Quando o tempo de execução do contentor extrai uma imagem do seu registo privado, o registo tem de comprovar a sua identidade apresentando um certificado. O certificado do registo é assinado por uma autoridade de certificação (CA). O tempo de execução do contentor usa o certificado da AC para validar o certificado do registo.
Defina este campo para o caminho do certificado da AC.
Exemplo:
privateRegistry: caCertPath: "my-cert-folder/registry-ca.crt"
componentAccessServiceAccountKeyPath
Obrigatório
Mutável
String
O caminho do ficheiro de chave JSON para a sua conta de serviço de acesso a componentes.
Exemplo:
componentAccessServiceAccountKeyPath: "my-key-folder/access-key.json"
gkeConnect
Obrigatório
Mutável
Quando preenche a secção gkeConnect
, o cluster de administrador é automaticamente registado numa frota após a sua criação. Esta secção contém informações sobre o Google Cloud projeto e a conta
de serviço necessários para registar o cluster.
Durante a criação ou a atualização do cluster, são configuradas várias políticas de RBAC no cluster de administrador. Estas políticas de RBAC são necessárias para poder criar clusters de utilizadores na consola do Google Cloud .
gkeConnect.projectID
Obrigatório
Imutável
String
O ID do seu projeto anfitrião da frota.
Para novos clusters, este ID do projeto tem de ser igual ao ID definido em stackdriver.projectID
e cloudAuditLogging.projectID
. Se os IDs dos projetos não forem iguais, a criação do cluster falha. Este requisito não é aplicado aos clusters existentes.
Exemplo:
gkeConnect: projectID: "my-fleet-host-project"
gkeConnect.location
Opcional
Imutável
String
Predefinição: global
A associação de frotas de cada cluster é gerida pelo serviço Fleet (gkehub.googleapis.com
) e pelo serviço Connect (gkeconnect.googleapis.com
). A localização dos serviços pode ser global ou regional. Na versão 1.28 e posteriores, pode especificar opcionalmente a Google Cloud
região em que os serviços Fleet e Connect são executados. Se não for especificado,
são usadas as instâncias globais dos serviços. Tenha em conta o seguinte:
Os clusters de administrador criados antes da versão 1.28 são geridos pelos serviços globais Fleet e Connect.
Para novos clusters, se incluir este campo, a região especificada tem de ser igual à região configurada em
cloudAuditLogging.clusterLocation
,stackdriver.clusterLocation
egkeOnPremAPI.location
. Se as regiões não forem iguais, a criação do cluster falha.
Exemplo:
gkeConnect: location: "us-central1"
gkeConnect.registerServiceAccountKeyPath
Obrigatório
Mutável
String
O caminho do ficheiro de chave JSON para a sua conta de serviço connect-register.
Exemplo:
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
gkeOnPremAPI
Opcional
Na versão 1.16 e posteriores, se a API GKE On-Prem estiver ativada no seu
Google Cloud projeto, todos os clusters no projeto são
inscritos na API GKE On-Prem
automaticamente na região configurada em stackdriver.clusterLocation
.
Se quiser inscrever todos os clusters no projeto na API GKE On-Prem, certifique-se de que executa os passos em Antes de começar para ativar e usar a API GKE On-Prem no projeto.
Se não quiser inscrever o cluster na API GKE On-Prem, inclua esta secção e defina
gkeOnPremAPI.enabled
comofalse
. Se não quiser inscrever nenhum cluster no projeto, desativegkeonprem.googleapis.com
(o nome do serviço para a API GKE On-Prem) no projeto. Para ver instruções, consulte o artigo Desativar serviços.
A inscrição do cluster de administrador na API GKE On-Prem permite-lhe usar ferramentas padrão, como a consola, a CLI do Google Cloud ou o Terraform, para atualizar os clusters de utilizadores que o cluster de administrador gere. Google Cloud A inscrição do cluster também lhe permite executar comandos gcloud
para obter informações sobre os seus clusters.
Depois de adicionar esta secção e criar ou atualizar o cluster de administrador, se remover posteriormente a secção e atualizar o cluster, a atualização falha.
gkeOnPremAPI.enabled
Obrigatório se a secção gkeOnPremAPI
estiver incluída.
Mutável
Booleano
Predefinição: true
Por predefinição, o cluster está inscrito na API GKE On-Prem se a API GKE On-Prem estiver ativada no seu projeto. Defina como false
se não quiser inscrever o cluster.
Depois de o cluster ser inscrito na API GKE On-Prem, se precisar de anular a inscrição do cluster, faça a seguinte alteração e, em seguida, atualize o cluster:
gkeOnPremAPI: enabled: false
gkeOnPremAPI.location
Imutável
String
Predefinição:stackdriver.clusterLocation
A Google Cloud região onde a API GKE On-Prem é executada e armazena
metadados do cluster. Escolha uma das regiões suportadas.
Tem de usar a mesma região configurada em
cloudAuditLogging.clusterLocation
, gkeConnect.location
e stackdriver.clusterLocation
. Se gkeOnPremAPI.enabled
for false
,
não inclua este campo.
stackdriver
Obrigatório por predefinição
Mutável
Se quiser ativar o Cloud Logging e o Cloud Monitoring para o seu cluster, preencha esta secção. Caso contrário, remova esta secção.
Esta secção é obrigatória por predefinição. Ou seja, se não incluir esta secção, tem de incluir a flag --skip-validation-stackdriver
quando executar gkectl create admin
.
Esta secção é necessária no cluster de administrador se quiser gerir o ciclo de vida dos clusters de utilizadores através de clientes da API GKE On-Prem.
stackdriver.projectID
Obrigatório para o registo e a monitorização
Imutável
String
O ID do seu projeto anfitrião da frota.
Para novos clusters, este ID do projeto tem de ser igual ao ID definido em gkeConnect.projectID
e cloudAuditLogging.projectID
. Se os IDs dos projetos não forem iguais, a criação do cluster falha. Este requisito não é aplicado aos clusters existentes.
Se necessário, pode configurar um router de registos neste projeto para encaminhar registos para contentores de registos noutro projeto. Para ver informações sobre como configurar o Log Router, consulte o artigo Destinos suportados.
Exemplo:
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Obrigatório para registo e monitorização
Imutável
String
Pré-preenchido: "us-central1"
A Google Cloud região onde quer encaminhar e armazenar as métricas do Cloud Monitoring. Recomendamos que escolha uma região próxima do seu centro de dados no local.
Especifica o encaminhamento de registos e a localização de armazenamento do Cloud Logging na configuração do Log Router. Para mais informações sobre o encaminhamento de registos, consulte o artigo Vista geral do encaminhamento e armazenamento.
O operador do Stackdriver (stackdriver-operator
) anexa o valor deste campo a cada entrada de registo e métrica antes de serem encaminhadas para Google Cloud. Estas etiquetas anexadas podem ser úteis para filtrar os registos e as métricas no Explorador de registos e no Explorador de métricas, respetivamente.
Para novos clusters, se incluir as secções gkeOnPremAPI
e cloudAuditLogging
no ficheiro de configuração, a região que definir aqui tem de ser a mesma que definir em cloudAuditLogging.clusterLocation
, gkeConnect.location
e gkeOnPremAPI.location
. Se as regiões não forem iguais, a criação do cluster falha.
Exemplo:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
Opcional
Imutável
Booleano
Pré-preenchido: false
Se a rede do cluster for controlada por uma VPC, defina esta opção comotrue
.
Isto garante que toda a telemetria flui através dos endereços IP restritos da Google.
Caso contrário, defina este valor como false
.
Exemplo:
stackdriver: enableVPC: false
stackdriver.serviceAccountKeyPath
Obrigatório para o registo e a monitorização
Mutável
String
O caminho do ficheiro de chave JSON para a sua conta de serviço de registo e monitorização.
Se criar o cluster com enableAdvancedCluster
definido como true
(o que é necessário para configurar domínios de topologia), stackdriver.serviceAccountKeyPath
tem de ser igual a cloudAuditLogging.serviceAccountKeyPath
.
Para ver informações sobre como atualizar este campo num cluster existente, consulte o artigo Faça a rotação das chaves da conta de serviço.
Exemplo:
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.disableVsphereResourceMetrics
Opcional
Mutável
Relevante para registo e monitorização
Booleano
Pré-preenchido: false
Predefinição: false
Defina esta opção como true
para desativar a recolha de métricas do vSphere.
Caso contrário, defina-o como false
.
Esta secção é necessária no cluster de administrador se quiser gerir o ciclo de vida dos clusters de utilizadores na Google Cloud consola.
Exemplo:
stackdriver: disableVsphereResourceMetrics: true
cloudAuditLogging
Se quiser integrar os registos de auditoria do servidor da API Kubernetes do seu cluster com os registos de auditoria do Cloud, preencha esta secção. Caso contrário, remova esta secção ou deixe-a comentada.
Mutável
Esta secção é necessária no cluster de administrador se quiser gerir o ciclo de vida dos clusters de utilizadores através de clientes da API GKE On-Prem.
cloudAuditLogging.projectID
Obrigatório para registos de auditoria do Cloud
Imutável
String
O ID do seu projeto anfitrião da frota.
Para novos clusters, este ID do projeto tem de ser igual ao ID definido em gkeConnect.projecID
e stackdriver.projectID
. Se os IDs dos projetos não forem iguais, a criação do cluster falha. Este requisito não é aplicado aos clusters existentes.
Se necessário, pode configurar um router de registos neste projeto para encaminhar registos para contentores de registos noutro projeto. Para ver informações sobre como configurar o Log Router, consulte o artigo Destinos suportados.
Exemplo:
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Obrigatório para registos de auditoria do Cloud
Imutável
String
A Google Cloud região onde quer armazenar os registos de auditoria. É recomendável escolher uma região perto do seu centro de dados no local
Para novos clusters, se incluir as secções gkeOnPremAPI
e stackdriver
no ficheiro de configuração, a região que definir aqui tem de ser a mesma que definir em gkeConnect.location
, gkeOnPremAPI.location
e stackdriver.clusterLocation
. Se as regiões não forem as mesmas, a criação do cluster falha.
Exemplo:
cloudAuditLogging: clusterLocation: "us-central1"
cloudAuditLogging.serviceAccountKeyPath
Obrigatório para os registos de auditoria do Cloud
Mutável
String
O caminho do ficheiro de chave JSON para a sua conta de serviço de registo de auditoria.
Se criar o cluster com enableAdvancedCluster
definido como true
(o que é necessário para configurar domínios de topologia), cloudAuditLogging.serviceAccountKeyPath
tem de ser igual a stackdriver.serviceAccountKeyPath
.
Para ver informações sobre como atualizar este campo num cluster existente, consulte o artigo Faça a rotação das chaves da conta de serviço.
Exemplo:
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
clusterBackup.datastore
Opcional
Mutável
String
Por predefinição, os ficheiros TAR de cópia de segurança do cluster são guardados no diretório gkectl-workspace/backups
na estação de trabalho do administrador. Se quiser armazenar ficheiros de cópias de segurança de clusters no vSphere, defina este campo para o repositório de dados do vSphere onde quer guardar as cópias de segurança.
Exemplo:
clusterBackup:
datastore: "my-datastore"
Tenha em atenção as seguintes diferenças de compatibilidade para este campo:
Para clusters avançados:
Versão 1.31: remova
clusterBackup.datastore
do ficheiro de configuração. A criação de cópias de segurança de clusters num arquivo de dados do vSphere não é suportada.Versão 1.32:
clusterBackup.datastore
está em pré-visualizaçãoVersão 1.33 e superior: o
clusterBackup.datastore
está disponível para todos.
Para clusters não avançados, o
clusterBackup.datastore
permanece em pré-visualização.
Para mais informações, consulte o seguinte:
Clusters não avançados: Faça uma cópia de segurança e restaure um cluster de administrador com o gkectl
Clusters avançados: faça uma cópia de segurança e restaure clusters avançados com o gkectl
autoRepair.enabled
Opcional
Mutável
Booleano
Pré-preenchido: verdadeiro
Defina esta opção como true
para ativar a reparação automática de nós.
Caso contrário, defina este valor como false
.
Para atualizar o valor deste campo, use gkectl update admin
.
Exemplo:
autoRepair: enabled: true
secretsEncryption
Se quiser encriptar segredos sem precisar de um KMS (serviço de gestão de chaves) externo ou outras dependências, preencha esta secção.
Caso contrário, remova esta secção ou deixe-a comentada.
Imutável
Se vai criar o cluster com
enableAdvancedCluster
definido como true
(o que é necessário para
configurar domínios de topologia),
remova esta secção. Esta funcionalidade não é suportada com clusters avançados.
secretsEncryption.mode
Obrigatório para a encriptação de segredos
Imutável
String
Valor possível: "GeneratedKey"
Pré-preenchido: "GeneratedKey"
O modo de encriptação secreto.
secretsEncryption: mode: "GeneratedKey"
secretsEncryption.generatedKey.keyVersion
Obrigatório para a encriptação de Secrets
Mutável
Número inteiro
Pré-preenchido: 1
Um número inteiro à sua escolha para usar como número da versão da chave. Recomendamos que comece com 1
.
Exemplo:
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Opcional para a encriptação de segredos
Mutável
Booleano
Preenchido previamente: falso
Defina este valor como true
para desativar a encriptação de segredos. Caso contrário, defina-o como false
.
Exemplo:
secretsEncryption: generatedKey: disabled: false
osImageType
Opcional
Mutável
String
Valores possíveis: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2"
Pré-preenchido: "ubuntu_cgv2"
Predefinição: "ubuntu_containerd"
O tipo de imagem do SO a executar nos nós do cluster de administrador.
Tenha em atenção a seguinte limitação com os clusters avançados:
Versão 1.31: se o campo
enableAdvancedCluster
fortrue
, apenasubuntu-cgroupv2
eubuntu_containerd
são suportados em clusters avançados.Versão 1.32: todos os tipos de imagens de SO são suportados em clusters avançados.
Exemplo:
osImageType: "cos"