Fichier de configuration de cluster d'utilisateur

Cette page décrit les champs d'un fichier de configuration de cluster d'utilisateur Anthos clusters on VMware (GKE On-Prem)

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

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

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

Pour générer un modèle pour le fichier de configuration de votre cluster d'utilisateur, exécutez la commande suivante :

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

Remplacez les éléments suivants :

OUTPUT_FILENAME : chemin d'accès de votre choix pour le modèle généré. Si vous omettez cette option, gkectl nomme le fichier user-cluster.yaml et le place dans le répertoire actuel.

VERSION : numéro de version souhaité. Exemple : gkectl create-config cluster --gke-on-prem-version=1.9.0-gke.8.

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

Chaîne. Nom de votre choix pour le cluster d'utilisateur. Ce nom doit :

  • contenir au maximum 40 caractères ;
  • ne contenir que des caractères alphanumériques minuscules ou un trait d'union - ;
  • commencer par un caractère alphabétique ;
  • se terminer par un caractère alphanumérique.

Exemple :

name: "my-user-cluster"

gkeOnPremVersion

Chaîne. Version d'Anthos clusters on VMware pour le cluster d'utilisateur. Exemple :

gkeOnPremVersion: "1.9.0-gke.1"

vCenter

Si vous souhaitez que tous les aspects de votre environnement vCenter soient identiques à ceux que vous avez spécifiés pour votre cluster d'administrateur, supprimez cette section ou laissez-la en commentaire.

Si vous souhaitez que certains aspects de votre environnement vCenter diffèrent de ceux que vous avez spécifiés pour votre cluster d'administrateur, remplissez les champs appropriés de cette section. Tous les champs que vous définissez ici dans la section vCenter remplacent les champs correspondants dans le fichier de configuration de votre cluster d'administrateur.

vCenter.datacenter

Chaîne. Nom du centre de données vCenter pour votre cluster d'utilisateur. Si cette option n'est pas spécifiée, le cluster est créé dans le centre de données du cluster d'administrateur.

Exemple :

vCenter:
  datascenter: "MY-USER-DATACENTER"

Si spécifié, vous devez également inclure les champs vCenter.datastore et vCenter.networkName, et spécifier vCenter.cluster ou vCenter.resourcePool. Consultez la page Créer un cluster d'utilisateur dans un centre de données distinct.

vCenter.resourcePool

Chaîne. Nom du pool de ressources vCenter pour votre cluster d'utilisateur. Si vous utilisez un pool de ressources autre que celui par défaut, indiquez le nom de votre pool de ressources vCenter. Exemple :

vCenter:
  resourcePool: "MY-USER-POOL"

Si vous utilisez le pool de ressources par défaut, indiquez la valeur suivante :

vCenter:
  resourcePool: "VSPHERE_CLUSTER/Resources"

Remplacez VSPHERE_CLUSTER par le nom de votre cluster vSphere.

Consultez la section Spécifier le pool de ressources racine pour un hôte autonome.

Si ce paramètre n'est pas spécifié et que vous avez défini vCenter.datacenter, vous devez indiquer une valeur pour vCenter.cluster.

vCenter.datastore

Chaîne. Nom du datastore vCenter pour votre cluster d'utilisateur. Exemple :

vCenter:
  datastore: "MY-USER-DATASTORE"

vCenter.cluster

Chaîne. Nom de votre cluster vSphere.

Exemple :

vCenter:
  cluster: USER_VSPHERE_CLUSTER

Si vCenter.cluster n'est pas spécifié, vous devez spécifier une valeur pour vCenter.resourcePool.

vCenter.folder

Chaîne. Nom du dossier sous "vCenter.datacenter".

Exemple :

vCenter:
  folder: USER_FOLDER

vCenter.caCertPath

Chaîne. Lorsqu'un client, tel que GKE On-Prem, envoie une requête à votre serveur vCenter, celui-ci doit prouver son identité au client en présentant un certificat ou un bundle de certificats. Pour valider le certificat ou le bundle, GKE On-Prem doit avoir le certificat racine dans la chaîne de confiance.

Définissez vCenter.caCertPath sur le chemin d'accès au certificat racine. Exemple :

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

Votre installation VMware comporte une autorité de certification qui émet un certificat sur votre serveur vCenter. Le certificat racine de la chaîne de confiance est un certificat autosigné créé par VMware.

Si vous ne souhaitez pas utiliser l'autorité de certification VMWare, qui est définie par défaut, vous pouvez configurer VMware de sorte à utiliser une autre autorité de certification.

Si votre serveur vCenter utilise un certificat émis par l'autorité de certification VMware par défaut, téléchargez-le comme suit :

curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip

Remplacez SERVER_ADDRESS par l'adresse de votre serveur vCenter.

Installez la commande unzip et décompressez le fichier de certificat :

sudo apt-get install unzip
unzip downloads.zip

Si la commande unzip ne fonctionne pas au premier essai, saisissez-la à nouveau.

Recherchez le fichier de certificat dans certs/lin.

Si votre certificat change, vous pouvez mettre à jour la référence au nouveau certificat.

vCenter.credentials.fileRef.path

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

vCenter:
  credentials:
    fileRef:
      path: "my-config-directory/user-creds.yaml"

vCenter.credentials.fileRef.entry

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

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

vCenter.folder

Chaîne. Nom du dossier vCenter où se trouvent les VM de votre cluster. Exemple :

vCenter:
  folder: "MY-FOLDER"

network

Cette section contient des informations sur le réseau de votre cluster d'utilisateur.

network.hostConfig

Cette section contient des informations sur les serveurs NTP, les serveurs DNS et les domaines de recherche DNS utilisés par votre cluster.

Si vous avez indiqué une valeur pour l'un des champs suivants ou les deux, remplissez cette section. Sinon, supprimez cette section.

  • loadBalancer.seesaw.ipBlockFilePath
  • network.ipMode.ipBlockFilePath

network.hostConfig.dnsServers

Tableau de chaînes. Adresses des serveurs DNS que les hôtes utilisent. Exemple :

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

network.hostConfig.ntpServers

Tableau de chaînes. Adresses des serveurs de temps que les hôtes utilisent. Exemple :

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Tableau de chaînes. Domaines de recherche DNS que les hôtes utilisent. Ces domaines sont utilisés dans une liste de recherche de domaines. Exemple :

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

network.ipMode.type

Chaîne. 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

Si vous définissez ipMode.type sur "static", renseignez ce champ. Si vous définissez ipMode.type sur "dhcp", supprimez ce champ.

Chaîne. Chemin d'accès au fichier de blocs d'adresses IP de votre cluster. Exemple :

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

network.serviceCIDR et network.podCIDR

Chaînes. Le cluster d'utilisateur doit disposer d'une plage d'adresses IP à utiliser pour les services et d'une plage d'adresses IP à utiliser pour les pods. Ces plages sont spécifiées par les champs network.serviceCIDR et network.podCIDR. Ces champs sont renseignés avec des valeurs par défaut. Si vous le souhaitez, vous pouvez remplacer les valeurs renseignées par celles de votre choix.

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

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.

Exemple :

network:
  serviceCIDR: "10.96.0.0/20"
  podCIDR: "192.168.0.0/16"

network.vCenter.networkName

Chaîne. Nom du réseau vSphere pour les nœuds de votre cluster d'utilisateur.

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, il est possible de spécifier un chemin d'accès au réseau, tel que /DATACENTER/network/NETWORK_NAME.

Exemple :

network:
  vCenter:
    networkName: "MY-USER-CLUSTER-NETWORK"

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

Adresse IP que vous avez choisi de configurer sur l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'utilisateur. Exemple :

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

Adresse IP que vous avez choisie pour configurer l'équilibreur de charge pour le trafic entrant. Exemple :

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

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

loadBalancer:
  kind: "Seesaw"

loadBalancer.manualLB

Si vous définissez loadbalancer.kind sur "manualLB", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

loadBalancer.manualLB.ingressHTTPNodePort

Entier. Le service d'entrée dans un cluster d'utilisateur est mis en œuvre en tant que services Kubernetes de type LoadBalancer. Le service dispose d'un ServicePort pour HTTP. Vous devez choisir une valeur nodePort pour les ServicePorts HTTP.

Définissez ce champ sur la valeur nodePort. Exemple :

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Entier. Le service d'entrée dans un cluster d'utilisateur est mis en œuvre en tant que service de type "LoadBalancer". Le service dispose d'un ServicePort pour HTTPS. Vous devez choisir une valeur nodePort pour le ServicePort HTTPS.

Définissez ce champ sur la valeur nodePort. Exemple :

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Entier. Le serveur d'API Kubernetes du cluster d'administrateur est mis en œuvre en tant que service de type NodePort. 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

Supprimez ce champ. Il n'est pas utilisé dans un cluster d'utilisateur.

loadBalancer.f5BigIP

Si vous définissez loadbalancer.kind sur "f5BigIP", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

loadBalancer.f5BigIP.address

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

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.fileRef.path

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 Anthos clusters on VMware peut utiliser pour se connecter à votre équilibreur de charge F5 BIG-IP.

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

Exemple :

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

loadBalancer.f5BigIP.fileRef.entry

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 F5 BIG-IP. Exemple :

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

loadBalancer.f5BigIP.partition

Chaîne. 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

Chaîne. Si vous utilisez SNAT, nom de votre pool SNAT. Si vous n'utilisez pas SNAT, supprimez ce champ ou laissez-le en commentaire. Exemple :

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

loadBalancer.seesaw

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

Pour en savoir plus sur la configuration de l'équilibreur de charge Seesaw, consultez le guide de démarrage rapide de l'équilibreur de charge Seesaw et la section Équilibrage de charge groupé avec Seesaw.

loadBalancer.seesaw.ipBlockFilePath

Chaîne. Définissez cette valeur sur le chemin d'accès du fichier de bloc d'adresses IP pour vos VM Seesaw. Exemple :

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

loadBalancer.seesaw.vrid

Entier. Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant, qui est un entier de votre choix, doit être unique dans un VLAN. La plage valide est comprise entre 1 et 255. Exemple :

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

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

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Entier. Nombre de processeurs pour chacune de vos VM Seesaw. Exemple :

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

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

loadBalancer:
  seesaw:
    memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 2^20, soit 1 048 576 octets. Un mégaoctet est égal à 10^6, soit 1 000 000 octets.

loadBalancer.seesaw.vCenter.networkName

Chaîne. Nom du réseau vCenter contenant vos VM Seesaw. Exemple :

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

loadBalancer.seesaw.enableHA

Valeur booléenne. 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, sauvegarde) de VM. Exemple :

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Valeur booléenne. 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

enableDataplaneV2

Valeur booléenne. Si vous souhaitez activer Dataplane V2, définissez cette valeur sur true. Sinon, définissez-la sur false. Exemple :

enableDataplaneV2: true

Dataplan V2 n'est disponible que dans les clusters d'utilisateur.

Pour en savoir plus sur la procédure de dépannage, consultez la page Dépannage de Dataplane V2.

enableWindowsDataplaneV2

Valeur booléenne. Aperçu.

Si vous souhaitez activer Windows Dataplane V2 pour un cluster avec des nœuds Windows, définissez ce paramètre sur true. Sinon, définissez-la sur false. Exemple :

enableWindowsDataplaneV2: true

Windows Dataplan V2 n'est disponible que dans les clusters d'utilisateur.

Pour en savoir plus sur la procédure de dépannage, consultez la page Dépannage de Dataplane V2. Consultez le guide de l'utilisateur pour les pools de nœuds du système d'exploitation Windows Server afin de configurer des pools de nœuds contenant des nœuds du système d'exploitation Windows Server.

enableAnthosNetworkGateway

Valeur booléenne. Aperçu.

Si vous souhaitez activer la passerelle réseau Anthos, définissez cette option sur true. Sinon, définissez-la sur false. Vous devez définir cette valeur sur true si vous souhaitez configurer une passerelle NAT de sortie. Exemple :

enableAnthosNetworkGateway: true

masterNode

Cette section contient des informations sur les nœuds du cluster d'administrateur qui servent de nœuds de plan de contrôle pour votre cluster d'utilisateur.

masterNode.vsphere.datastore

Chaîne. Datastore du nœud de plan de contrôle d'utilisateur pour ce cluster d'utilisateur. Exemple :

masterNode:
   vsphere:
      datastore: USER_MASTER_DATASTORE

Si cette valeur n'est pas spécifiée, elle est définie par défaut sur le datastore du cluster d'utilisateur lorsque celui-ci utilise le centre de données du cluster d'administrateur.

Si le cluster d'utilisateur utilise un autre centre de données, ce champ est obligatoire et aucune valeur par défaut n'est appliquée.

masterNode.cpus

Entier. Nombre de processeurs pour chaque nœud de cluster d'administrateur servant de plans de contrôle pour ce cluster d'utilisateur. Exemple :

masterNode:
  cpus: 8

masterNode.memoryMB

Entier. Nombre de mébioctets de mémoire pour chaque nœud de cluster d'administrateur servant de plan de contrôle pour ce cluster d'utilisateur. Cette valeur doit être un multiple de 4. Exemple :

masterNode:
  memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 2^20, soit 1 048 576 octets. Un mégaoctet est égal à 10^6, soit 1 000 000 octets.

masterNode.replicas

Entier. Nombre de nœuds de plan de contrôle pour ce cluster d'utilisateur. Définissez ce champ sur 1 ou 3. Exemple :

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Valeur booléenne. Définissez cette valeur sur true pour activer le redimensionnement automatique des nœuds du plan de contrôle du cluster d'utilisateur. Notez que les nœuds du plan de contrôle du cluster d'utilisateur se trouvent dans le cluster d'administrateur. Exemple :

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

Chaîne. Datastore dans lequel les nœuds maîtres seront créés. Exemple :

masterNode:
  vSphere:
    datastore: "MY-DATASTORE"

nodePools

Tableau d'objets, chacun décrivant un pool de nœuds.

nodePools[i].name

Chaîne. Nom de votre choix pour un pool de nœuds. Ce nom doit :

  • contenir au maximum 40 caractères ;
  • ne contenir que des caractères alphanumériques minuscules ou un trait d'union - ;
  • commencer par un caractère alphabétique ;
  • se terminer par un caractère alphanumérique.

Exemple :

nodePools:
- name: "my-node-pool"

nodePools[i].cpus

Entier. Nombre de processeurs de chaque nœud du pool. Exemple :

nodePools"
- name: "my-node-pool"
  cpus: 8

nodePools[i].memoryMB

Entier. Mébioctets de mémoire pour chaque nœud du pool. Cette valeur doit être un multiple de 4. Exemple :

nodePools"
- name: "my-node-pool"
  memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 2^20, soit 1 048 576 octets. Un mégaoctet est égal à 10^6, soit 1 000 000 octets.

nodePools[i].replicas

Entier. Nombre de nœuds du pool. Exemple :

nodePools:
- name: "my-node-pool"
  replicas: 5

nodePools[i].bootDiskSizeGB

Entier. Taille du disque de démarrage en gigaoctets pour chaque nœud du pool. Cette configuration est disponible à partir de la version 1.5.0 d'Anthos clusters on VMware. Exemple :

nodePools
- name: "my-node-pool"
  bootDiskSizeGB: 40

nodePools[i].osImageType

Chaîne. Type d'image d'OS à exécuter sur les VM du pool de nœuds. Les valeurs possibles sont "ubuntu_containerd", "ubuntu" et "cos". Exemple :

nodePools
- name: "my-node-pool"
  osImageType: "ubuntu_containerd"

nodePools[i].labels

Mappage. Libellés à appliquer à chaque nœud du pool. Exemple :

nodePools:
- name: "my-node-pool"
  labels:
    environment: "production"
    tier: "cache"

nodePools[i].taints

Tableau d'objets, chacun décrivant un rejet. Exemple :

nodePools:
- name: "my-node-pool"
  taints:
  - key: "staging"
    value: "true"
    effect: "NoSchedule"

nodePools[i].vsphere.datastore

Chaîne. Nom du datastore vCenter sur lequel chaque nœud du pool sera créé. Exemple :

nodePools:
- name: "my-node-pool"
  vsphere:
    datastore: "my-datastore"

nodePools[i].vsphere.tags

Tableau d'objets, chacun décrivant un tag vSphere à placer sur les VM du pool de nœuds. Chaque tag comprend une catégorie et un nom. Exemple :

nodePools:
- name: "my-node-pool"
  vsphere:
    tags:
    - category: "purpose"
      name: "testing"

Si vous souhaitez associer des tags à toutes les VM d'un pool de nœuds, votre compte utilisateur vCenter doit disposer de ces droits d'ajout de tags vSphere :

  • "vSphere Tagging.Assign" ou "Unassign vSphere Tag"
  • "vSphere Tagging.Assign" ou "Unassign vSphere Tag on Object" (vSphere 7)

nodePools[i].autoscaling

Aperçu.

Si vous souhaitez activer le scaling automatique pour le pool de nœuds, renseignez cette section. Sinon, supprimez cette section.

nodePools[i].autoscaling.minReplicas

Entier. Nombre minimal de nœuds que l'autoscaler peut définir pour le pool. Doit être supérieur ou égal à 1. Exemple :

nodePools:
- name: "my-node-pool"
  autoscaling:
    minReplicas: 5

nodePools.autoscaling.maxReplicas

Entier. Nombre maximal de nœuds que l'autoscaler peut définir pour le pool.

nodePools:
- name: "my-node-pool"
  autoscaling:
    maxReplicas: 10

antiAffinityGroups.enabled

Valeur booléenne. 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

Anthos clusters on VMware crée automatiquement des règles anti-affinités VMware DRS (Distributed Resource Scheduler) pour les nœuds de votre cluster d'utilisateur, avec pour effet de les répartir sur au moins trois hôtes 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 trois hôtes physiques sont disponibles.

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

Si vous n'avez pas activé DRS ou si vous n'avez pas au moins trois hôtes sur lesquels les VM vSphere peuvent être planifiées, définissez antiAffinityGroups.enabled sur false.

enableVMTracking

enableVMTracking: true

authentication

Cette section contient des informations sur la manière dont les utilisateurs du cluster sont authentifiés et autorisés.

authentication.oidc

N'utilisez pas cette section. À la place, après la création du cluster, modifiez la ressource personnalisée ClientConfig, comme décrit dans la section Configurer des clusters pour Anthos Identity Service avec OIDC.

authentication.sni

Si vous souhaitez fournir un certificat de diffusion supplémentaire pour le serveur d'API Kubernetes du cluster, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

authentication.sni.certPath

Chaîne. Chemin d'accès à un certificat de diffusion pour le serveur d'API Kubernetes. Exemple :

authentication:
  sni:
    certPath: "my-cert-folder/example.com.crt"

authentication.sni.keyPath

Chaîne. Chemin d'accès au fichier de clé privée du certificat. Exemple :

authentication:
  sni:
    keyPath: "my-cert-folder/example.com.key"

stackdriver

Si vous souhaitez activer Cloud Logging et Cloud Monitoring pour votre cluster, renseignez cette section. Sinon, supprimez-la ou mettez-la en commentaire.

stackdriver.projectID

Chaîne. ID du projet Google Cloud dans lequel vous souhaitez afficher les journaux. Exemple :

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

Chaîne. 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

Valeur booléenne. 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 ce champ sur false. Exemple :

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Chaîne. Chemin du fichier de clé JSON pour votre compte de service de journalisation-surveillance. Exemple :

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

stackdriver.disableVsphereResourceMetrics

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

stackdriver:
  disableVsphereResourceMetrics: true

gkeConnect

Cette section contient des informations sur le projet et le compte de service Google Cloud que vous souhaitez utiliser pour enregistrer votre cluster dans un parc Google Cloud.

Cette section est obligatoire.

gkeConnect.projectID

Chaîne. L'ID de votre projet hôte de parc. Exemple :

gkeConnect:
  projectID: "my-connect-project-123"

gkeConnect.registerServiceAccountKeyPath

Chaîne. 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"

usageMetering

Si vous souhaitez activer la mesure de l'utilisation de votre cluster, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

usageMetering.bigQueryProjectID

Chaîne. ID du projet Google Cloud dans lequel vous souhaitez stocker les données de mesure de l'utilisation. Exemple :

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Chaîne. ID de l'ensemble de données BigQuery dans lequel vous souhaitez stocker les données de mesure de l'utilisation. Exemple :

usageMetering:
  bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

Chaîne. Chemin d'accès au fichier de clé JSON de votre compte de service BigQuery. Exemple :

usageMetering:
  bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"

usageMetering.enableConsumptionMetering

Valeur booléenne. Définissez cette valeur sur true si vous souhaitez activer la mesure basée sur la consommation. Sinon, définissez-la sur "false". Exemple :

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

cloudAuditLogging.projectID

Chaîne. ID du projet Google Cloud dans lequel vous souhaitez stocker les journaux d'audit. Exemple :

cloudAuditLogging:
  projectID: "my-audit-project"

cloudAuditLogging.clusterLocation

Chaîne. 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

Chaîne. Chemin d'accès au fichier de clé JSON de votre compte de service de journalisation-audit. Exemple :

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

autoRepair.enabled

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

autoRepair:
  enabled: true

secretsEncryption

Si vous souhaitez chiffrer des secrets sans utiliser de KMS (service de gestion des clés) externe ou d'autres dépendances, assurez-vous que cette section est bien complétée. Sinon, supprimez la section ou mettez-la en commentaire.

secretsEncryption.mode

Chaîne. Mode de chiffrement du secret. Définissez cette valeur sur "GeneratedKey".

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Entier. Entier de votre choix à utiliser pour le numéro de version de clé. Il est recommandé de commencer par 1. Exemple :

secretsEncryption:
  generatedKey:
    keyVersion: 1