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