Fichier de configuration du cluster d'administrateur

Cette page décrit les champs du fichier de configuration du cluster d'administrateur pour GKE sur VMware.

Générer un modèle pour votre fichier de configuration

Si vous avez utilisé gkeadm pour créer le poste de travail d'administrateur, gkeadm a généré un modèle pour le fichier de configuration de votre cluster d'administrateur. Par ailleurs, gkeadm renseigne certains champs pour vous.

Si vous n'avez pas utilisé gkeadm pour créer votre poste de travail d'administrateur, vous pouvez utiliser gkectl pour générer un modèle pour votre fichier de configuration de cluster d'administrateur.

Pour générer un modèle pour votre fichier de configuration de cluster d'administrateur :

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

Remplacez OUTPUT_FILENAME par le chemin d'accès que vous avez choisi pour le modèle généré. Si vous omettez cette option, gkectl nomme le fichier admin-cluster.yaml et le place dans le répertoire actuel.

Remplacez VERSION par le numéro de version souhaité, qui doit être inférieur ou égal à votre version gkectl. Par exemple : gkectl create-config admin --gke-on-prem-version=1.6.2-gke.0. Si vous omettez cette option, le modèle de configuration généré est renseigné avec des valeurs basées sur la dernière version du cluster.

Modèle

Remplir votre fichier de configuration

Dans votre fichier de configuration, saisissez les valeurs des champs comme décrit dans les sections suivantes.

name

Facultatif
Chaîne
Par défaut : nom aléatoire avec le préfixe "gke-admin-"

Nom de votre choix pour le cluster.

Exemple :

name: "my-admin-cluster"

bundlePath

Obligatoire
Chaîne
mutable

Chemin d'accès à votre fichier de bundle GKE sur VMware.

Le fichier de groupe complet GKE sur VMware contient tous les composants d'une version particulière de GKE sur VMware. Lorsque vous créez un poste de travail d'administrateur, celui-ci est fourni avec un groupe complet dans :

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

Exemple :

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

vCenter

Obligatoire
Immutable

Cette section contient des informations sur votre environnement vSphere et sur votre connexion au serveur vCenter.

vCenter.address

Obligatoire
Chaîne
immuable

Adresse IP ou nom d'hôte de votre serveur vCenter.

Pour en savoir plus, consultez la section Rechercher l'adresse de votre serveur vCenter.

Exemples :

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

vCenter.datacenter

Obligatoire
Chaîne
immuable

Chemin relatif d'un centre de données vSphere.

La valeur que vous spécifiez est relative au dossier racine nommé /.

Si votre centre de données se trouve dans le dossier racine, la valeur correspond au nom du centre de données.

Exemple :

vCenter:
  datacenter: "my-data-center"

Sinon, la valeur est un chemin d'accès relatif comprenant un ou plusieurs dossiers, ainsi que le nom du centre de données.

Exemple :

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

vCenter.cluster

Obligatoire
Chaîne
immuable

Chemin relatif d'un cluster vSphere qui représente les hôtes ESXi sur lesquels les VM de votre cluster d'administrateur seront exécutées. Ce cluster vSphere représente un sous-ensemble des hôtes ESXi physiques de votre centre de données vCenter.

La valeur que vous spécifiez est relative à /.../DATA_CENTER/vm/.

Si votre cluster vSphere se trouve dans le dossier /.../DATA_CENTER/vm/, la valeur correspond au nom du cluster vSphere.

Exemple :

vCenter:
  cluster: "my-vsphere-cluster"

Sinon, la valeur est un chemin d'accès relatif comprenant un ou plusieurs dossiers, ainsi que le nom du cluster vSphere.

Exemple :

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

vCenter.resourcePool

Obligatoire
Chaîne
immuable

Un pool de ressources vCenter pour vos VM de cluster d'administrateur

Si vous souhaitez utiliser le pool de ressources par défaut, définissez la valeur sur VSPHERE_CLUSTER/Resources.

Exemple :

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

Si vous souhaitez utiliser un pool de ressources que vous avez déjà créé, définissez-le sur le chemin d'accès relatif de votre pool de ressources.

La valeur que vous spécifiez est relative à /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/.

Si votre pool de ressources est un enfant direct de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, la valeur correspond au nom du pool de ressources.

Exemple :

vCenter:
  resourcePool: "my-resource-pool"

Si votre pool de ressources est imbriqué dans un autre pool de ressources, définissez ce chemin sur le chemin d'accès complet à votre pool de ressources.

Exemple :

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

vCenter.datastore

Obligatoire
Chaîne
immuable

Nom d'un Datastore vSphere pour votre cluster d'administrateur.

La valeur que vous spécifiez doit être un nom et non un chemin d'accès. N'incluez aucun dossier dans la valeur.

Exemple :

vCenter:
  datastore: "my-datastore"

vCenter.caCertPath

Obligatoire
Chaîne
mutable

Chemin d'accès du certificat CA de votre serveur vCenter.

Pour en savoir plus, consultez la section Obtenir votre certificat CA vCenter.

Pour en savoir plus sur la mise à jour de ce champ pour un cluster existant, consultez la page Mettre à jour les références de certificat vCenter.

Exemple :

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

vCenter.credentials.fileRef.path

Obligatoire
Chaîne

Chemin d'accès d'un fichier de configuration des identifiants contenant le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter. Le compte utilisateur doit disposer du rôle d'administrateur ou de privilèges équivalents. Consultez les exigences concernant vSphere.

Vous pouvez utiliser gkectl update pour mettre à jour ce champ dans un cluster existant.

Pour en savoir plus sur la mise à jour de vos identifiants vCenter, consultez la page Mettre à jour les identifiants de cluster.

Exemple :

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

vCenter.credentials.fileRef.entry

Obligatoire
Chaîne

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter.

Vous pouvez utiliser gkectl update pour mettre à jour ce champ dans un cluster existant.

Pour en savoir plus sur la mise à jour de vos identifiants vCenter, consultez la page Mettre à jour les identifiants de cluster.

Exemple :

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

vCenter.folder

Facultatif
Chaîne
Immutable
Par défaut: Dossier à l'échelle du centre de données

Chemin relatif d'un dossier vSphere que vous avez déjà créé. Ce dossier contiendra les VM de votre cluster d'administrateur.

Si vous ne spécifiez pas de valeur, les VM de votre cluster d'administrateur sont placées dans /.../DATA_CENTER/vm/.

Si vous spécifiez une valeur, elle est relative à /.../DATA_CENTER/vm/.

La valeur peut être le nom d'un dossier.

Exemple :

vCenter:
  folder: "my-folder"

Si le dossier de votre VM est imbriqué dans un autre dossier de VM, définissez ce chemin sur le chemin d'accès complet au dossier de votre VM.

Exemple :

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

Notez que vous devez inclure la première barre oblique ("/") dans le chemin d'accès complet du dossier de votre VM.

vCenter.dataDisk

Obligatoire
Chaîne
immuable

GKE sur VMware crée un disque de machine virtuelle (VMDK) pour stocker les données d'objet Kubernetes. Le programme d'installation crée le VMDK pour vous, mais vous devez fournir un chemin d'accès relatif pour le VMDK dans le champ vCenter.dataDisk.

La valeur que vous spécifiez est relative à /.../DATA_CENTER/datastore/.

Si vous souhaitez que le VMDK se trouve dans le dossier /.../DATA_CENTER/datastore/, la valeur correspond au nom du VMDK.

Si vous définissez adminMaster.replicas sur 3, vous ne devez PAS définir ce champ. Pour un cluster d'administrateur haute disponibilité, les chemins d'accès au disque de données des trois machines du plan de contrôle d'administrateur seront générés automatiquement sous /anthos/ADMIN_CLUSTER/default/.

Exemple :

vCenter:
  dataDisk: "my-disk.vmdk"

Sinon, la valeur est un chemin d'accès relatif comprenant un ou plusieurs dossiers avec le nom du VMDK.

Exemple :

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

Si vous utilisez un datastore vSAN, le VMDK doit se trouver dans un dossier que vous avez déjà créé.

Vous pouvez utiliser govc pour créer un dossier:

govc datastore.mkdir -namespace=true data-disks

network

Obligatoire
Immutable

Cette section préserve des informations sur votre réseau de clusters d'administrateur.

network.hostConfig

Immuable

Cette section est obligatoire si une ou plusieurs des conditions suivantes sont remplies:

  • network.ipMode.type est définie sur "static".
  • loadBalancer.kind est définie sur "Seesaw".
  • adminMaster.replicas est définie sur 3.

Cette section contient des informations sur les serveurs NTP, les serveurs DNS et les domaines de recherche DNS utilisés par les VM qui sont vos nœuds de cluster. Si vous utilisez l'équilibreur de charge Seesaw, ces informations s'appliquent également à vos VM Seesaw.

network.hostConfig.dnsServers

Obligatoire si la section network.hostConfig est remplie.
Immutable
Tableau de chaînes.
Le tableau ne doit pas comporter plus de trois éléments.

Adresses des serveurs DNS pour les VM.

Exemple :

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

network.hostConfig.ntpServers

Obligatoire si la section network.hostConfig est remplie.
Immutable
Tableau de chaînes

Adresses des serveurs de temps que les VM utilisent.

Exemple :

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Facultatif
Immutable
Tableau de chaînes

Domaines de recherche DNS que les VM utilisent. Ces domaines sont utilisés dans une liste de recherche de domaines.

Exemple :

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

network.ipMode.type

Obligatoire
Immutable
Chaîne
Prérempli: "dhcp"
Par défaut: "dhcp"

Si vous souhaitez que les nœuds de votre cluster obtiennent leur adresse IP à partir d'un serveur DHCP, définissez la valeur sur "dhcp". Si vous souhaitez que les nœuds de votre cluster aient des adresses IP statiques venant d'une liste que vous fournissez, définissez ce paramètre sur "static".

Exemple :

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Obligatoire si network.ipMode.type = static
Chaîne immuable

Chemin d'accès au fichier de blocs d'adresses IP de votre cluster.

Exemple :

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

network.serviceCIDR

Obligatoire
Immutable
Chaîne
Plage la plus petite possible: /24
Plage la plus étendue possible: /12
Prérempli: "10.96.232.0/24"
Par défaut: "10.96.232.0/24"

Une plage d'adresses IP au format CIDR à utiliser pour les services de votre cluster.

Exemple :

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

Obligatoire
Immutable
Chaîne
Plage la plus petite possible: /18
Plage la plus étendue possible: /8
Prérempli: "192.168.0.0/16"
Par défaut: "192.168.0.0/16"

Une plage d'adresses IP au format CIDR à utiliser pour les pods de votre cluster

Exemple :

network:
  podCIDR: "192.168.0.0/16"

La plage de services ne doit pas chevaucher la plage de pods.

Les plages de services et de pods ne doivent chevaucher aucune adresse en dehors du cluster que vous souhaitez atteindre depuis l'intérieur du cluster.

Par exemple, supposons que votre plage de services soit 10.96.232.0/24 et que votre plage de pods soit 192.168.0.0/16. Tout trafic envoyé depuis un pod vers une adresse dans l'une de ces plages est traité comme étant dans un cluster et n'atteint aucune destination en dehors du cluster.

En particulier, les plages de services et de pods ne doivent pas chevaucher les éléments suivants :

  • Adresses IP des nœuds d'un cluster

  • Adresses IP utilisées par les machines des équilibreurs de charge

  • Adresses IP virtuelles utilisées par les nœuds de plan de contrôle et les équilibreurs de charge

  • Adresse IP des serveurs vCenter, DNS et NTP

Nous vous recommandons de placer vos plages de services et de pods dans l'espace d'adressage RFC 1918.

Voici l'une des raisons pour lesquelles il est recommandé d'utiliser les adresses RFC 1918 Supposons que votre plage de services et de pods contienne des adresses IP externes. Tout trafic envoyé depuis un pod vers l'une de ces adresses externes sera traité comme du trafic interne au cluster et n'atteindra pas la destination externe.

network.vCenter.networkName

Obligatoire
Chaîne
immuable

Nom du réseau vSphere pour vos nœuds de cluster.

Exemple :

network:
  vCenter:
    networkName: "my-network"

Si le nom contient un caractère spécial, vous devez utiliser une séquence d'échappement pour celui-ci.

Caractères spéciaux Séquence d'échappement
Barre oblique (/) %2f
Barre oblique inverse (\) %5c
Signe de pourcentage (%) %25

Si le nom du réseau n'est pas unique dans votre centre de données, vous pouvez spécifier un chemin d'accès complet.

Exemple :

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

network.controlPlaneIPBlock

Aperçu

Si vous souhaitez créer un cluster d'administrateur haute disponibilité, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Un cluster d'administrateur à haute disponibilité comporte trois nœuds qui exécutent les composants du plan de contrôle.

Si vous remplissez cette section, vous devez également définir adminMaster.replicas sur 3.

network.controlPlaneIPBlock.netmask

Aperçu
Obligatoire pour un plan de contrôle à haute disponibilité
Chaîne immuable

Masque de réseau du réseau qui contient les nœuds du plan de contrôle.

Exemple :

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Aperçu
Obligatoire pour un plan de contrôle à haute disponibilité
Chaîne immuable

Adresse IP de la passerelle par défaut pour les nœuds de votre plan de contrôle.

Exemple :

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

Aperçu
Obligatoire pour un plan de contrôle à haute disponibilité
Immutable
Tableau de trois objets, chacun associé à une adresse IP et à un nom d'hôte facultatif.

Ce sont les adresses IP qui seront attribuées aux nœuds de votre plan de contrôle.

Exemple :

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

loadBalancer

Cette section contient des informations sur l'équilibreur de charge de votre cluster d'administrateur.

loadBalancer.vips.controlPlaneVIP

Obligatoire
Chaîne
immuable

Adresse IP que vous avez choisie de configurer sur l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'administrateur.

Exemple :

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.addonsVIP

Chaîne
facultative
non modifiable

Adresse IP que vous avez choisi de configurer sur l'équilibreur de charge pour les modules complémentaires Prometheus et Grafana. Les clusters d'utilisateur utilisent cette adresse IP virtuelle pour la communication des métriques avec le cluster d'administrateur.

Exemple :

loadBalancer:
  vips:
    addonsVIP: "203.0.113.4"

loadBalancer.kind

Obligatoire
Chaîne
Immutable
Prérempli: "MetalLB"

Chaîne. Définissez ce paramètre sur "ManualLB", "F5BigIP", "Seesaw" ou "MetalLB".

Si vous définissez adminMaster.replicas sur 3, vous ne pouvez pas utiliser l'équilibreur de charge Seesaw.

Exemple :

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Si vous définissez loadbalancer.kind sur "ManualLB", remplissez cette section. Sinon, supprimez cette section.
Immutable

loadBalancer.manualLB.ingressHTTPNodePort

Supprimez ce champ de votre fichier de configuration. Il n'est pas utilisé dans un cluster d'administrateur.

loadBalancer.manualLB.ingressHTTPSNodePort

Supprimez ce champ de votre fichier de configuration. Il n'est pas utilisé dans un cluster d'administrateur.

loadBalancer.manualLB.konnectivityServerNodePort

Supprimez ce champ de votre fichier de configuration. Il n'est pas utilisé dans un cluster d'administrateur.

loadBalancer.manualLB.controlPlaneNodePort

Obligatoire si loadBalancer.kind = "ManualLB" et adminMaster.replicas = 1
Immutable
Entier
Prérempli: 30968

Le serveur d'API Kubernetes du cluster d'administrateur est exposé par un service Kubernetes. Vous devez choisir une valeur nodePort pour le service.

Définissez ce champ sur la valeur nodePort.

Exemple :

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.addonsNodePort

Obligatoire si loadBalancer.kind = "ManualLB"
Immutable
Entier
Prérempli: 31405

Le serveur de modules complémentaires du cluster d'administrateur est exposé par un service Kubernetes. Vous devez choisir une valeur nodePort pour le service.

Définissez ce champ sur la valeur nodePort.

Exemple :

loadBalancer:
  manualLB:
    addonsNodePort: 31405

loadBalancer.f5BigIP

Si vous définissez loadbalancer.kind sur "f5BigIP", remplissez cette section. Sinon, supprimez cette section.

loadBalancer.f5BigIP.address

Obligatoire si loadBalancer.kind = "f5BigIp"
Chaîne immuable

Adresse de votre équilibreur de charge F5 BIG-IP. Exemple :

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Obligatoire si loadBalancer.kind = "f5BigIp"
Chaîne modifiable

Chemin d'accès d'un fichier de configuration des identifiants contenant le nom d'utilisateur et le mot de passe d'un compte que GKE sur VMware peut utiliser pour se connecter à votre équilibreur de charge F5 BIG-IP.

Le compte utilisateur doit disposer d'un rôle utilisateur disposant des autorisations suffisantes pour configurer et gérer l'équilibreur de charge. Le rôle Administrateur ou Administrateur de ressources est suffisant.

Vous pouvez utiliser gkectl update pour mettre à jour ce champ dans un cluster existant.

Pour en savoir plus sur la mise à jour de vos identifiants F5 BIG-IP, consultez la page Mettre à jour les identifiants du cluster.

Exemple :

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

loadBalancer.f5BigIP.credentialsfileRef.entry

Obligatoire si loadBalancer.kind = "f5BigIp"
Chaîne modifiable

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte F5 BIG-IP.

Vous pouvez utiliser gkectl update pour mettre à jour ce champ dans un cluster existant.

Pour en savoir plus sur la mise à jour de vos identifiants F5 BIG-IP, consultez la page Mettre à jour les identifiants du cluster.

Exemple :

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

loadBalancer.f5BigIP.partition

Obligatoire si loadBalancer.kind = "f5BigIp"
Chaîne immuable

Nom d'une partition BIG-IP que vous avez créée pour votre cluster d'administrateur.

Exemple :

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

loadBalancer.f5BigIP.snatPoolName

Facultatif
Pertinent si loadBalancer.kind = "f5BigIp"
Chaîne
immuable

Si vous utilisez SNAT, nom de votre pool SNAT. Si vous n'utilisez pas SNAT, supprimez ce champ.

Exemple :

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

loadBalancer.seesaw

Si vous définissez loadbalancer.kind sur "Seesaw", remplissez cette section. Sinon, supprimez cette section.
Immutable

Pour en savoir plus sur la configuration de l'équilibreur de charge Seesaw, consultez la page Équilibrage de charge groupé avec Seesaw.

loadBalancer.seesaw.ipBlockFilePath

Obligatoire si loadBalancer.kind = "Seesaw"
Chaîne immuable

Chemin du fichier de bloc d'adresses IP pour vos VM Seesaw.

Exemple :

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

loadBalancer.seesaw.vrid

Obligatoire si loadBalancer.kind = "Seesaw"
Immutable
Entier
Valeurs possibles: 1 à 255

Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant, qui est un entier de votre choix, doit être unique dans un VLAN.

Exemple :

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Obligatoire si loadBalancer.kind = "Seesaw"
Immutable
Entier

Chaîne. Adresse IP virtuelle configurée sur votre VM Seesaw principale.

Exemple :

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Obligatoire si loadBalancer.kind = "Seesaw"
Mutable
Entier
Prérempli: 2
Par défaut:

Nombre de processeurs pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Obligatoire si loadBalancer.kind = "Seesaw"
Mutable
Entier
Prérempli: 3072 Par défaut: 1024

Nombre de mébioctets de mémoire pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.vCenter.networkName

Facultatif
Pertinent si loadBalancer.kind = "Seesaw"
Chaîne
immuable

Nom du réseau vCenter contenant vos VM Seesaw.

Exemple :

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

loadBalancer.seesaw.enableHA

Facultatif
Pertinent si loadBalancer.kind = "Seesaw"
Immutable
Booléen
Prérempli: false
Par défaut: false

Si vous souhaitez créer un équilibreur de charge Seesaw à haute disponibilité, définissez cette valeur sur true. Sinon, définissez cette valeur sur false. Un équilibreur de charge Seesaw à haute disponibilité utilise une paire(maître, de secours) de VM.

Exemple :

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Facultatif
Pertinent si loadBalancer.kind = "Seesaw"
Immutable
Booléen
Pré-populatd: false
Par défaut: false

Si vous définissez cette valeur sur true, l'équilibreur de charge Seesaw n'utilise pas l'apprentissage MAC pour le basculement. Il utilise le protocole ARP gratuit. Si vous définissez cette valeur sur false, l'équilibreur de charge Seesaw utilise l'apprentissage MAC. Nous vous recommandons de définir cette valeur sur true. Si vous utilisez vSphere 7.0 ou une version ultérieure, et que vous disposez d'un équilibreur de charge Seesaw à haute disponibilité, vous devez définir cette valeur sur true.

Exemple :

loadBalancer:
  seesaw:
    disableVRRPMAC: true

antiAffinityGroups.enabled

Facultatif
Mutable
Booléen
Prérempli: true

Définissez ce paramètre sur true pour activer la création de règles DRS. Sinon, définissez cette valeur sur false.

Exemple :

antiAffinityGroups:
  enabled: true

Si ce champ est true, GKE sur VMware crée des règles anti-affinité VMware Distributed Resource Scheduler (DRS) pour vos nœuds de cluster d'administrateur, ce qui entraîne leur propagation sur au moins trois hôtes ESXi physiques dans votre centre de données.

Cette fonctionnalité nécessite que votre environnement vSphere remplisse les conditions suivantes :

  • La fonctionnalité VMware DRS est activée. VMware DRS nécessite l'édition de licence vSphere Enterprise Plus.

  • Votre compte utilisateur vSphere dispose du privilège Host.Inventory.Modify cluster.

  • Au moins quatre hôtes ESXi sont disponibles.

Même si la règle exige que les nœuds du cluster soient répartis sur trois hôtes ESXi, nous vous recommandons vivement d'avoir au moins quatre hôtes ESXi disponibles. Cela vous évite de perdre le plan de contrôle de votre cluster d'administrateur. Par exemple, supposons que vous n'ayez que trois hôtes ESXi et que le nœud du plan de contrôle de votre cluster d'administrateur se trouve sur un hôte ESXi défaillant. La règle DRS empêche le nœud de plan de contrôle d'être placé sur l'un des deux hôtes ESXi restants.

Rappelez-vous que si vous possédez une licence standard vSphere, vous ne pouvez pas activer VMware DRS.

Si le DRS n'est pas activé ou si vous ne disposez pas d'au moins quatre hôtes sur lesquels les VM vSphere peuvent être programmées, définissez antiAffinityGroups.enabled sur false.

adminMaster

Aperçu
Facultatif
Immutable

Remplissez cette section si vous souhaitez effectuer l'une des opérations suivantes:

  • Spécifier les processeurs des nœuds de plan de contrôle du cluster d'administrateur
  • Spécifier la mémoire pour les nœuds de plan de contrôle du cluster d'administrateur
  • Aperçu: Créer un cluster d'administrateur à haute disponibilité

Sinon, supprimez cette section ou laissez-la en commentaire.

adminMaster.cpus

Aperçu
Facultatif
Immutable
Entier
Prérempli: 4
Par défaut: 4

Nombre de processeurs virtuels pour chaque nœud de plan de contrôle du cluster d'administrateur.

Exemple :

adminMaster:
  cpus: 4

adminMaster.memoryMB

Aperçu
Facultatif
Immutable
Entier
Prérempli: 16384
Par défaut: 16384

Nombre de mébioctets de mémoire pour chaque nœud du plan de contrôle dans le cluster d'administrateur.

Exemple :

adminMaster:
  memoryMB: 16384

adminMaster.replicas

Aperçu
Facultatif
Immutable
Entier
Valeurs possibles: 1 ou 3
Prérempli: 1
Par défaut: 1

Nombre de nœuds du plan de contrôle dans le cluster d'administrateur. Définissez cette valeur sur 3 si vous souhaitez créer un cluster d'administrateur à haute disponibilité. Sinon, définissez cette valeur sur 1.

Si vous définissez ce paramètre sur 3, vous devez également remplir les sections network.controlPlaneIPBlock et network.hostConfig.

Si vous définissez ce paramètre sur 3, vous ne pouvez pas utiliser l'équilibreur de charge Seesaw.

Exemple :

adminMaster:
  replicas: 3

addonNode.autoResize.enabled

Facultatif
Mutable
Booléen
Prérempli: false
Par défaut: false

Définissez ce paramètre sur true pour activer le redimensionnement automatique des nœuds de modules complémentaires dans le cluster d'administrateur. Sinon, définissez-le sur false.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update admin.

Exemple :

addonNode:
  autoResize:
    enabled: true

proxy

Si votre réseau est protégé par un serveur proxy, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
Immutable

proxy.url

Obligatoire si la section proxy est remplie.
Chaîne
immuable

Adresse HTTP de votre serveur proxy. Incluez le numéro de port même s'il est identique au port par défaut du schéma.

Exemple :

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

Le serveur proxy que vous spécifiez ici est utilisé par vos clusters GKE sur VMware. En outre, votre poste de travail d'administrateur est automatiquement configuré pour utiliser ce même serveur proxy, sauf si vous définissez la variable d'environnement HTTPS_PROXY sur votre poste de travail d'administrateur.

Si vous spécifiez proxy.url, vous devez également spécifier proxy.noProxy.

Une fois la configuration du proxy pour le cluster d'administrateur définie, elle ne peut être ni modifiée, ni supprimée, sauf si le cluster est recréé.

proxy.noProxy

Chaîne
facultative
non modifiable

Liste d'adresses IP, de plages d'adresses IP, de noms d'hôte et de noms de domaine séparés par une virgule qui ne doivent pas passer par le serveur proxy. Lorsque GKE sur VMware envoie une requête à l'une de ces adresses, à l'un de ces hôtes ou à l'un de ces domaines, la requête est envoyée directement.

Exemple :

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

privateRegistry

Si vous disposez d'un registre de conteneurs privé, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

privateRegistry.address

Obligatoire pour le registre privé
Chaîne immuable

Adresse IP ou nom de domaine complet de la machine qui exécute votre registre privé.

Exemples :

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

privateRegistry.credentials.fileRef.path

Obligatoire pour le registre privé
Mutable
Chaîne

Chemin d'accès d'un fichier de configuration des identifiants contenant le nom d'utilisateur et le mot de passe d'un compte que GKE sur VMware peut utiliser pour accéder à votre registre privé.

Exemple :

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

privateRegistry.credentials.fileRef.entry

Obligatoire pour le registre privé
Mutable
Chaîne

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte de registre privé.

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

privateRegistry.caCertPath

Obligatoire pour le registre privé
Mutable
Chaîne

Lorsque l'environnement d'exécution du conteneur extrait une image de votre registre privé, le registre doit prouver son identité en présentant un certificat. Le certificat du registre est signé par une autorité de certification (CA). L'environnement d'exécution du conteneur utilise le certificat de l'autorité de certification pour valider le certificat du registre.

Définissez ce champ sur le chemin d'accès au certificat de l'autorité de certification.

Exemple :

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

componentAccessServiceAccountKeyPath

Obligatoire
Chaîne
mutable

Chemin d'accès au fichier de clé JSON de votre compte de service d'accès au composant.

Exemple :

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

gkeConnect

Obligatoire
Mutable

Lorsque vous remplissez la section gkeConnect, le cluster d'administrateur est automatiquement enregistré dans un parc après sa création. Cette section contient des informations sur le projet et le compte de service Google Cloud nécessaires à l'enregistrement du cluster.

Lors de la création ou de la mise à jour du cluster, plusieurs stratégies RBAC sont configurées sur le cluster d'administrateur. Ces stratégies RBAC sont nécessaires pour créer des clusters d'utilisateur dans la console Google Cloud.

gkeConnect.projectID

Obligatoire
Chaîne
immuable

L'ID de votre projet hôte de parc.

Exemple :

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

gkeConnect.registerServiceAccountKeyPath

Obligatoire
Chaîne
mutable

Chemin d'accès au fichier de clé JSON de votre compte de service connect-register.

Exemple :

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

gkeOnPremAPI

Facultatif
Disponible dans la version 1.15.3 ou ultérieure.

Incluez cette section si vous souhaitez enregistrer le cluster d'administrateur dans l'API GKE On-Prem.

L'enregistrement de votre cluster d'administrateur dans l'API GKE On-Prem vous permet d'utiliser des outils standards (console Google Cloud, Google Cloud CLI ou Terraform) pour mettre à niveau les clusters d'utilisateur gérés par le cluster d'administrateur. L'enregistrement de votre cluster vous permet également d'exécuter des commandes gcloud pour obtenir des informations sur vos clusters.

L'API GKE On-Prem stocke les métadonnées d'état du cluster dans Google Cloud. Ces métadonnées permettent à l'API de gérer le cycle de vie des clusters d'utilisateur. Les outils standards utilisent l'API GKE On-Prem et sont collectivement appelés clients de l'API GKE On-Prem. Pour plus d'informations sur l'utilisation d'outils standards pour créer des clusters d'utilisateur, consultez la page Créer un cluster d'utilisateur à l'aide de clients API GKE On-Prem. Lorsque vous créez des clusters d'utilisateur à l'aide d'un client API GKE On-Prem, les clusters sont automatiquement enregistrés dans l'API GKE On-Prem.

Si vous définissez gkeOnPremAPI.enabled sur true, avant de créer ou de mettre à jour le cluster à l'aide de gkectl, veillez à suivre la procédure décrite dans la section Avant de commencer pour activer et initialiser l'API GKE On-Prem.

Une fois que vous avez ajouté cette section et créé ou mis à jour le cluster d'administrateur, la mise à jour échouera si vous supprimez la section et mettez à jour le cluster.

gkeOnPremAPI.enabled

Obligatoire si la section gkeOnPremAPI est incluse.
Mutable
Booléen Prérempli: true

Définissez la valeur sur true si vous souhaitez enregistrer le cluster dans l'API GKE On-Prem.

Une fois le cluster enregistré dans l'API GKE On-Prem, si vous devez le désenregistrer, apportez la modification suivante, puis mettez-le à jour:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Chaîne
immutable
Prérempli: "us-central1"

Région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Choisissez l'une des régions disponibles. Nous vous recommandons d'utiliser la même région que celle configurée dans stackdriver.clusterLocation. Doit être une chaîne non vide si gkeOnPremAPI.enabled est défini sur true. Si gkeOnPremAPI.enabled est défini sur false, n'incluez pas ce champ.

stackdriver

Obligatoire par défaut
Mutable

Si vous souhaitez activer Cloud Logging et Cloud Monitoring pour votre cluster, renseignez cette section. Sinon, supprimez cette section.

Cette section est obligatoire par défaut. Autrement dit, si vous n'incluez pas cette section, vous devez inclure l'option --skip-validation-stackdriver lorsque vous exécutez gkectl create admin.

Cette section est obligatoire dans le cluster d'administrateur si vous souhaitez gérer le cycle de vie des clusters d'utilisateur dans la console Google Cloud.

stackdriver.projectID

Requis pour Logging et Monitoring
Chaîne immuable

L'ID de votre projet hôte de parc.

Exemple :

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

stackdriver.clusterLocation

Requis pour Logging et Monitoring
Chaîne immuable
Chaîne
Prérempli: "us-central1"

Région Google Cloud dans laquelle vous souhaitez stocker les journaux. Nous vous recommandons de choisir une région à proximité de votre centre de données sur site.

Exemple :

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Facultatif
Immutable
Booléen
Prérempli: faux

Si le réseau de votre cluster est contrôlé par un VPC, définissez ce champ sur true. Ainsi, toute la télémétrie passe par les adresses IP restreintes de Google. Sinon, définissez cette valeur sur false.

Exemple :

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Requis pour Logging et Monitoring
Chaîne modifiable

Chemin du fichier de clé JSON pour votre compte de service de journalisation-surveillance.

Pour savoir comment mettre à jour ce champ dans un cluster existant, consultez la page Appliquer une rotation des clés de compte de service.

Exemple :

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

stackdriver.disableVsphereResourceMetrics

Facultatif
Mutable
Pertinent pour Logging et Monitoring
Booléen
Prérempli: false
Par défaut: false

Définissez cette valeur sur true pour désactiver la collecte de métriques depuis vSphere. Sinon, définissez cette valeur sur false.

Cette section est obligatoire dans le cluster d'administrateur si vous souhaitez gérer le cycle de vie des clusters d'utilisateur dans la console Google Cloud.

Exemple :

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

Si vous souhaitez intégrer les journaux d'audit du serveur d'API Kubernetes de votre cluster aux journaux d'audit Cloud, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
Mutable

Cette section est obligatoire dans le cluster d'administrateur si vous souhaitez gérer le cycle de vie des clusters d'utilisateur dans la console Google Cloud.

cloudAuditLogging.projectID

Requis pour Cloud Audit Logs
Chaîne immuable

ID du projet hôte de votre parc.

Exemple :

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

cloudAuditLogging.clusterLocation

Requis pour Cloud Audit Logs
Chaîne immuable

Région Google Cloud dans laquelle vous souhaitez stocker les journaux d'audit. Nous vous recommandons de choisir une région à proximité de votre centre de données sur site.

Exemple :

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Requis pour Cloud Audit Logs
Chaîne modifiable

Chemin d'accès au fichier de clé JSON de votre compte de service de journalisation-audit.

Pour savoir comment mettre à jour ce champ dans un cluster existant, consultez la page Appliquer une rotation des clés de compte de service.

Exemple :

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

clusterBackup.datastore

Aperçu
Facultatif
Chaîne modifiable

Si vous souhaitez activer la sauvegarde du cluster d'administrateur, définissez ce paramètre sur le datastore vSphere dans lequel vous souhaitez enregistrer les sauvegardes de cluster.

Si vous définissez adminMaster.replicas sur 3, vous ne pouvez pas activer cette fonctionnalité. Vous ne devez donc pas définir de valeur pour ce champ.

Exemple :

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

Facultatif
Mutable
Booléen
Prérempli: true

Définissez cette valeur sur true pour activer la réparation automatique des nœuds. Sinon, définissez cette valeur sur false.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update admin.

Exemple :

autoRepair:
  enabled: true

secretsEncryption

Si vous souhaitez chiffrer des secrets sans avoir besoin de KMS externe (Key Management Service) ni d'autres dépendances, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
Immutable

secretsEncryption.mode

Requis pour le chiffrement des secrets
Immutable
Chaîne
Valeur possible: "GeneratedKey"
Prérempli: "GeneratedKey"

Mode de chiffrement du secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obligatoire pour le chiffrement des secrets
Mutable
Entier
Prérempli: 1

Entier de votre choix à utiliser pour le numéro de version de clé. Nous vous recommandons de commencer par 1.

Exemple :

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Facultatif pour le chiffrement des secrets
Mutable
Booléen
Prérempli: faux

Définissez cette valeur sur true pour désactiver le chiffrement des secrets. Sinon, définissez-la sur false.

Exemple :

secretsEncryption:
  generatedKey:
    disabled: false

osImageType

Facultatif
Chaîne
Valeurs possibles: "Ubuntu_containerd" ou "cos"
Prérempli: "Ubuntu_containerd"
Par défaut: "Ubuntu_containerd"

Type d'image d'OS à exécuter sur vos nœuds de cluster d'administrateur.

Exemple :

osImageType: "cos"