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.10.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
Obligatoire
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
Obligatoire
Modifiable
Chaîne
Version d'Anthos clusters on VMware pour le cluster d'utilisateur.
Exemple :
gkeOnPremVersion: "1.10.0-gke.1"
preparedSecrets.namespace
Si vous souhaitez utiliser des identifiants préparés, renseignez ce champ. Sinon, supprimez cette section ou laissez-la en commentaire.
Aperçu
Facultatif
Immuable
Chaîne
Valeurs possibles: chaîne commençant par "gke-onprem-secrets-"
Nom d'un espace de noms Kubernetes dans le cluster d'administrateur où les secrets préparés seront conservés pour ce cluster d'utilisateur.
Exemple :
preparedSecrets: namespace: "gke-onprem-secrets-alice"
vCenter
Cette section contient des informations sur votre environnement vSphere et sur votre connexion au serveur vCenter.
Si vous souhaitez qu'un champ de cette section soit identique à celui que vous avez spécifié pour votre cluster d'administrateur, supprimez le champ ou laissez-le en commentaire.
Si vous souhaitez qu'un champ soit différent de celui que vous avez spécifié pour votre cluster d'administrateur, renseignez-le ici. Tous les champs que vous remplissez ici dans la section vCenter
remplacent les champs correspondants dans le fichier de configuration de votre cluster d'administrateur.
vCenter.datacenter
Facultatif
Immuable
Chaîne
Par défaut: hériter du cluster d'administrateur
Nom d'un centre de données vCenter contenant les hôtes ESXi physiques sur lesquels vos VM de cluster d'utilisateur seront exécutées.
Exemple :
vCenter: datacenter: "my-datacenter-2"
Si vous spécifiez ce champ, vous devez également spécifier vCenter.datastore
et vCenter.networkName
, et vous devez spécifier vCenter.cluster
ou vCenter.resourcePool
.
vCenter.cluster
Facultatif
Immuable
Chaîne
Par défaut: hériter du cluster d'administrateur
Nom d'un cluster vSphere contenant les hôtes ESXi sur lesquels vos VM de cluster d'utilisateur seront exécutées. Ce cluster vSphere est un ensemble d'hôtes ESXi physiques qui constituent un sous-ensemble des hôtes physiques ESXi de votre centre de données vCenter.
Exemple :
vCenter: cluster: "my-vsphere-cluster-2"
vCenter.resourcePool
Facultatif
Immuable
Chaîne
Par défaut: hériter du cluster d'administrateur
Nom d'un pool de ressources vCenter pour les VM de votre cluster d'utilisateur.
Exemple :
vCenter: resourcePool: "my-resource-pool-2"
Pour utiliser le pool de ressources par défaut, définissez cette valeur sur VSPHERE_CLUSTER/Resources.
Exemple :
vCenter: resourcePool: "my-vsphere-cluster-2/Resources"
Pour en savoir plus, consultez la section Spécifier le pool de ressources racine pour un hôte autonome.
vCenter.datastore
Facultatif
Immuable
Chaîne
Par défaut: hériter du cluster d'administrateur
Nom d'un datastore vCenter pour les VM de votre cluster d'utilisateur.
Exemple :
vCenter: datastore: "my-datastore-2"
vCenter.caCertPath
Facultatif
Modulable
Chaîne
Par défaut: hériter du cluster d'administrateur
Chemin d'accès du certificat CA de votre serveur vCenter. Pour en savoir plus, consultez la section Obtenir votre certificat CA vCenter.
Exemple :
vCenter: caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"
Pour en savoir plus sur la mise à jour de ce champ, consultez la section Mettre à jour les références de certificats vCenter.
vCenter.credentials.fileRef.path
Facultatif
Modulable
Chaîne
Par défaut: hériter du cluster d'administrateur
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 credentials
pour mettre à jour ce champ dans un cluster existant. Pour en savoir plus, consultez la page Effectuer une rotation des clés de compte de service.
Pour en savoir plus sur la mise à jour de vos identifiants vCenter, consultez la page Mettre à jour les identifiants du cluster.
Exemple :
vCenter: credentials: fileRef: path: "my-config-directory/my-credentials-2.yaml"
vCenter.credentials.fileRef.entry
Facultatif
Modulable
Chaîne
Par défaut: hériter du cluster d'administrateur
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-credentials-2"
vCenter.folder
Facultatif
Immuable
Chaîne
Par défaut: hériter du cluster d'administrateur
Nom du dossier des VM vCenter où se trouvent les VM de votre cluster. Vous devez créer ce dossier avant de créer votre cluster d'utilisateur.
Exemple :
vCenter: folder: "my-folder-2"
componentAccessServiceAccountKeyPath
Aperçu
Facultatif
Modulable
Chaîne
Par défaut: hériter du cluster d'administrateur
Chemin d'accès au fichier de clé JSON de votre compte de service d'accès au composant.
Exemple :
componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"
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 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
Immuable
Tableau de chaînes
Le nombre maximal d'éléments dans le tableau est de trois.
Adresses des serveurs DNS pour les VM.
Exemple :
network: hostConfig: dnsServers: - "172.16.255.1" - "172.16.255.2"
network.hostConfig.ntpServers
Obligatoire
Immuable
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
Immuable
Tableau de chaînes
Domaines de recherche DNS que les hôtes utilisent. Ces domaines sont utilisés dans le cadre d'une liste de recherche de domaines.
Exemple :
network: hostConfig: searchDomainsForDNS: - "my.local.com"
network.ipMode.type
Obligatoire
Immuable
Chaîne
Prérempli: "dhcp"
Valeur 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
Immuable
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
Obligatoire
Immuable
Chaîne
Prérempli: "10.96.0.0/20"
Une plage d'adresses IP au format CIDR à utiliser pour les services de votre cluster. Elle doit être au moins égale à /24.
Exemple :
network: serviceCIDR: "10.96.0.0/20"
network.podCIDR
Obligatoire
Immuable
Chaîne
Prérempli: "192.168.0.0/16"
Valeur par défaut: "192.168.0.0/16"
Une plage d'adresses IP au format CIDR à utiliser pour les pods de votre cluster Elle doit être au moins égale à /18.
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
Facultatif
Chaîne
immuable
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, vous pouvez spécifier un chemin d'accès au réseau, tel que /datacenter-2/network/my-network
.
Exemple :
network: vCenter: networkName: "my-user-cluster-network"
network.vCenter.additionalNodeInterfaces
Si vous définissez multipleNetworkInterfaces
sur true
, remplissez cette section.
Sinon, supprimez cette section ou laissez-la en commentaire.
Immuable
Tableau d'objets, chacun décrivant une interface réseau pouvant être utilisée sur tout ou partie des nœuds de votre cluster.
network.vCenter.additionalNodeInterfaces[i].networkName
Obligatoire si multipleNetworkInterfaces
= true
Immuable
Chaîne
Nom du réseau vSphere auquel cette interface de nœud supplémentaire se connectera.
Exemple :
network: vCenter: additionalNodeInterfaces: - networkName: "my-node-interface-1"
network.vCenter.additionalNodeInterfaces[i].type
Obligatoire si multipleNetworkInterfaces
= true
Immuable
Chaîne
Exemple :
network: vCenter: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static"
network.vCenter.additionalNodeInterfaces[i].ipBlockFilePath
Obligatoire si network.vCenter.additionalNodeInterfaces[i].type
= static
Immuable
Chaîne
Chemin d'accès d'un fichier de bloc d'adresses IP contenant les adresses IP à utiliser pour cette interface réseau sur les nœuds possédant cette interface réseau.
Exemple :
network: vCenter: additionalNodeInterfaces: - name: "my-node-interface-1" type: "static" ipBlockFilePath: "my-ipblock-file-1"
loadBalancer
Cette section contient des informations sur l'équilibreur de charge de votre cluster d'utilisateur.
loadBalancer.vips.controlPlaneVIP
Obligatoire
Immuable
Chaîne
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
Obligatoire
Immuable
Chaîne
Adresse IP que vous avez choisie de configurer sur l'équilibreur de charge pour le proxy d'entrée.
Exemple :
loadBalancer: vips: ingressVIP: "203.0.113.4"
loadBalancer.kind
Obligatoire
Immuable
Chaîne
Prérempli: "Seesaw"
Définissez ce paramètre sur "ManualLB"
, "F5BigIP"
, "Seesaw"
ou "MetalLB"
.
Exemple :
loadBalancer: kind: "MetalLB"
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
Obligatoire si loadBalancer.kind
= ManualLB
Immuable
Entier
Prérempli: 30243
Le proxy d'entrée d'un cluster d'utilisateur est exposé par un service Kubernetes de type LoadBalancer
.
Le service dispose d'un ServicePort pour HTTP. Vous devez choisir une valeur nodePort
pour le ServicePort HTTP.
Définissez ce champ sur la valeur nodePort
.
Exemple :
loadBalancer: manualLB: ingressHTTPNodePort: 32527
loadBalancer.manualLB.ingressHTTPSNodePort
Obligatoire si loadBalancer.kind
= ManualLB
Immuable
Entier
Prérempli: 30879
Le proxy d'entrée d'un cluster d'utilisateur est exposé par un 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
Obligatoire si loadBalancer.kind
= ManualLB
Immuable
Entier
Prérempli: 30562
Le serveur d'API Kubernetes d'un cluster d'utilisateur s'exécute dans le cluster d'administrateur et est exposé par un service de type LoadBalancer
. Vous devez choisir une valeur nodePort
pour le service.
Définissez ce champ sur la valeur nodePort
.
Exemple :
loadBalancer: manualLB: controlPlaneNodePort: 30968
loadBalancer.manualLB.konnectivityServerNodePort
Obligatoire si loadBalancer.kind
= ManualLB
Immuable
Entier
Prérempli: 30563
Le serveur d'API Kubernetes d'un cluster d'utilisateur s'exécute dans le cluster d'administrateur et est exposé par un service de type LoadBalancer
. Le serveur konnectivity réutilise ce service avec une autre valeur nodePort
. Vous devez choisir une valeur nodePort
pour le serveur Konnectivity.
Définissez ce champ sur la valeur nodePort
pour le serveur Ktonctivity.
Exemple :
loadBalancer: manualLB: konnectivityServerNodePort: 30969
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
Obligatoire si loadBalancer.kind
= "f5BigIP"
Chaîne
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
Chemin d'accès d'un fichier 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.
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/user-creds.yaml"
loadBalancer.f5BigIP.credentials.fileRef.entry
Obligatoire si loadBalancer.kind
= "f5BigIP"
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: credentials: fileRef: entry: "f5-creds"
loadBalancer.f5BigIP.partition
Obligatoire si loadBalancer.kind
= "f5BigIP"
Chaîne
Nom d'une partition BIG-IP que vous avez créée pour votre cluster d'utilisateur.
Exemple :
loadBalancer: f5BigIP: partition: "my-f5-user-partition"
loadBalancer.f5BigIP.snatPoolName
Obligatoire si loadBalancer.kind
= "f5BigIP"
et que vous utilisez SNAT
Chaîne
Nom de votre pool SNAT.
Exemple :
loadBalancer: f5BigIP: snatPoolName: "my-snat-pool"
loadBalancer.seesaw
Si vous définissez loadbalancer.kind
sur "Seesaw"
, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
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
Obligatoire si loadBalancer.kind
= Seesaw
Immuable
Chaîne
Chemin du fichier de bloc d'adresses IP pour vos VM Seesaw.
Exemple :
loadBalancer: seesaw: ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"
loadBalancer.seesaw.vrid
Obligatoire si loadBalancer.kind
= Seesaw
Immuable
Entier
Valeurs possibles: 1 - 255
Prérempli: 0
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
Immuable
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
Modulable
Entier
Prérempli: 4
Nombre de processeurs pour chacune de vos VM Seesaw.
Exemple :
loadBalancer: seesaw: cpus: 8
loadBalancer.seesaw.memoryMB
Obligatoire si loadBalancer.kind
= Seesaw
Modulable
Entier
Prérempli: 3072
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
Facultatif
Immuable
Chaîne
Par défaut: identique aux nœuds du cluster
Nom du réseau vCenter contenant vos VM Seesaw.
Exemple :
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
loadBalancer.seesaw.enableHA
Facultatif
Immuable
Pertinence si loadBalancer.kind
= Seesaw
Booléen
Prérempli: faux
Valeur par défaut: faux
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
Facultatif
Immuable
Pertinence si loadBalancer.kind
= Seesaw
Booléen
Prérempli: true
Valeur par défaut: true
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
loadBalancer.metalLB
Si vous définissez loadbalancer.kind
sur "MetalLB"
, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.
loadBalancer.metalLB.addressPools
Obligatoire si loadBalancer.kind
= "MetalLB"
Modifiable
Tableau d'objets, chacun contenant des informations sur un pool d'adresses qui sera utilisé par l'équilibreur de charge MetalLB.
loadBalancer.metalLB.addressPools[i].name
Obligatoire si loadBalancer.kind
= MetalLB
Modulable
Chaîne
Nom de votre choix pour un pool d'adresses.
Exemple :
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses
Obligatoire si loadBalancer.kind
= MetalLB
Modulable
Tableau de chaînes, chacune correspondant à une plage d'adresses. Chaque plage doit être au format CIDR ou au format de trait d'union.
Exemple :
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" addresses: - "192.0.2.0/26" - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs
Facultatif
Pertinence si loadBalancer.kind
= MetalLB
Mutable
Booléen
Prérempli: false
Valeur par défaut: false
Si vous définissez cette valeur sur true
, le contrôleur MetalLB n'attribue pas les adresses IP se terminant par .0 ou .255 aux services. Cela évite le problème des bugs avec les appareils grand public qui suppriment par erreur le trafic envoyé à ces adresses IP spéciales.
Exemple :
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" - "192.0.2.0/26" - "192.0.2.64-192.0.2.72" avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign
Facultatif
Pertinence si loadBalancer.kind
= MetalLB
Mutable
Booléen
Prérempli: false
Valeur par défaut: false
Si vous ne souhaitez pas que le contrôleur MetalLB attribue automatiquement les adresses IP de ce pool aux services, définissez ce paramètre sur true
. Un développeur peut ensuite créer un service de type LoadBalancer
et spécifier manuellement l'une des adresses du pool.
Sinon, définissez cette valeur sur false
.
Exemple :
loadBalancer: metalLB: addressPools: - name: "my-address-pool-1" manualAssign: true
enableDataplaneV2
Facultatif
Immuable
Booléen
Prérempli: faux
Par défaut: faux
Si vous souhaitez activer Dataplane V2, définissez cette valeur sur true
. Sinon, définissez-la sur false
.
Exemple :
enableDataplaneV2: true
Pour en savoir plus sur la procédure de dépannage, consultez la page Dépannage de Dataplane V2.
multipleNetworkInterfaces
Facultatif
Immuable
Booléen
Prérempli: faux
Par défaut: faux
Si vous souhaitez activer plusieurs interfaces réseau pour les pods, définissez ce paramètre sur true
. Sinon, définissez cette valeur sur false
.
Pour plus d'informations, consultez la page Configurer plusieurs interfaces réseau pour les pods.
Exemple :
multipleNetworkInterfaces: true
advancedNetworking
Facultatif
Immuable
booléen
Prérempli: faux
Par défaut: faux
Si vous envisagez de créer une passerelle NAT de sortie, définissez cette valeur sur true
. Sinon, définissez cette valeur sur false
.
Si vous définissez ce champ sur true
, vous devez également définir enableDataplaneV2
sur true
.
Exemple :
advancedNetworking: true
enableWindowsDataplaneV2
Facultatif
Mutable
Booléen
Prérempli: false
Par défaut: false
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 cette valeur sur false
.
Si enableWindowsDataplaneV2
est défini sur true
, l'environnement d'exécution containerd est activé au lieu de l'environnement d'exécution Docker.
Exemple :
enableWindowsDataplaneV2: true
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.
storage.vSphereCSIDisabled
Si vous souhaitez désactiver le déploiement des composants CSI vSphere, définissez cette valeur sur true
. Sinon, définissez cette valeur sur false
.
Facultatif
Mutable
Booléen
Prérempli: false
Par défaut: false
Exemple :
storage: vSphereCSIDisabled: false
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 ce cluster d'utilisateur.
masterNode.cpus
Facultatif
Modulable
Entier
Prérempli: 4
Par défaut: 4
Nombre de processeurs de chaque nœud de cluster d'administrateur servant de plan de contrôle pour ce cluster d'utilisateur.
Exemple :
masterNode: cpus: 8
masterNode.memoryMB
Facultatif
Moditable
Entier
Prérempli: 8192
Par défaut: 8192
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
Facultatif
Immuable
Entier
Valeurs possibles: 1 ou 3
Préremplis: 1
Par défaut: 1
Nombre de nœuds de plan de contrôle pour ce cluster d'utilisateur Ce nombre ne peut pas être modifié une fois le cluster créé. Si vous souhaitez mettre à jour le nombre d'instances dupliquées ultérieurement, vous devez recréer le cluster d'utilisateur.
Les nœuds du plan de contrôle pour le cluster d'utilisateur se trouvent dans le cluster d'administrateur.
Exemple :
masterNode: replicas: 3
masterNode.autoResize.enabled
Facultatif
Mutable
Booléen
Prérempli: false
Par défaut: false
Définissez cette valeur sur true
pour activer le redimensionnement automatique des nœuds du plan de contrôle du cluster d'utilisateur. Sinon, définissez cette valeur sur false
.
Les nœuds du plan de contrôle pour le cluster d'utilisateur se trouvent dans le cluster d'administrateur.
Pour en savoir plus, consultez la section Activer le redimensionnement des nœuds pour les nœuds de plan de contrôle d'un cluster d'utilisateur.
Exemple :
masterNode: autoResize: enabled: true
masterNode.vsphere.datastore
Facultatif
Immuable
Chaîne
Valeur par défaut: vCenter.datastore
Datastore dans lequel les nœuds de plan de contrôle de ce cluster d'utilisateur seront créés.
Exemple :
masterNode: vSphere: datastore: "control-plane-datastore"
nodePools
Obligatoire
Modulable
Tableau d'objets, chacun décrivant un pool de nœuds.
Pour en savoir plus, consultez la page Créer et gérer des pools de nœuds.
nodePools[i].name
Obligatoire
Immuable
Chaîne
Nom de votre choix pour le 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-1"
nodePools[i].cpus
Obligatoire
Moditable
Entier
Prérempli: 4
Nombre de processeurs virtuels de chaque nœud du pool.
Exemple :
nodePools" - name: "my-node-pool" cpus: 8
nodePools[i].memoryMB
Obligatoire
Moditable
Entier
Prérempli: 8192
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
Obligatoire
Modulable
Entier
Prérempli: 3
Valeurs possibles: le nombre total de nœuds non rejetés dans tous les pools de nœuds du tableau doit être au moins égal à 3.
Nombre de nœuds du pool.
Exemple :
nodePools: - name: "my-node-pool" replicas: 5
nodePools[i].bootDiskSizeGB
Facultatif
Modulable
Entier
Prérempli: 40
Par défaut: 40
Taille du disque de démarrage en gigaoctets pour chaque nœud du pool.
Exemple :
nodePools - name: "my-node-pool" bootDiskSizeGB: 40
nodePools[i].osImageType
Facultatif
Mutable
Chaîne
Valeurs possibles: "ubuntu", "ubuntu_containerd", "cos", "windows"
Prérempli: "ubuntu_containerd"
Par défaut: "ubuntu_containerd"
Type d'image d'OS à exécuter sur les VM du pool de nœuds.
Exemple :
nodePools - name: "my-node-pool" osImageType: "ubuntu_containerd"
nodePools[i].osImage
Obligatoire si nodePools[i].osImageType
= windows
Modulable
Chaîne
Nom d'un modèle de VM Windows. Le modèle doit être basé sur un fichier ISO de Windows Server 2019 comportant le tag de langue/région en-US.
Pour en savoir plus, consultez le guide de l'utilisateur pour les pools de nœuds du système d'exploitation Windows Server.
nodePools[i].labels
Facultatif
Modulable
Mappage
Libellés à appliquer à chaque objet de nœud Kubernetes du pool.
Exemple :
nodePools: - name: "my-node-pool" labels: environment: "production" tier: "cache"
nodePools[i].taints
Facultatif
Modulable
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
Facultatif
Modulable
Chaîne
Par défaut: la valeur de vCenter.datastore
Nom du datastore vCenter dans lequel les nœuds seront créés.
Exemple :
nodePools: - name: "my-node-pool" vsphere: datastore: "my-datastore"
nodePools[i].vsphere.tags
Facultatif
Modulable
Tableau d'objets, chacun décrivant une balise 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
Facultatif
Modifiable
Si vous souhaitez activer le scaling automatique pour le pool de nœuds, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
nodePools[i].autoscaling.minReplicas
Facultatif
Moditable
Entier
Valeurs possibles: Supérieur ou égal à 1
Prérempli: 0
Nombre minimal de nœuds que l'autoscaler peut définir pour le pool.
Exemple :
nodePools: - name: "my-node-pool" autoscaling: minReplicas: 5
nodePools[i].autoscaling.maxReplicas
Facultatif
Modulable
Entier
Prérempli: 0
Nombre maximal de nœuds que l'autoscaler peut définir pour le pool.
Exemple :
nodePools: - name: "my-node-pool" autoscaling: maxReplicas: 10
nodePools[i].enableLoadBalancer
Facultatif
Pertinence si loadBalancer.kind
= "MetalLB"
Mutable
Booléen
Prérempli: false
Valeur par défaut: false
Définissez cette valeur sur true
si vous souhaitez autoriser le locuteur MetalLB à s'exécuter sur les nœuds du pool. Sinon, définissez cette valeur sur false
.
Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.
Exemple :
nodePools: - name: "my-node-pool" enableLoadBalancer: true
antiAffinityGroups.enabled
Facultatif
Modulable
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 contient true
clusters Anthos sur VMware crée des règles anti-affinité VMware Distributed Resource Scheduler (DRS) pour les nœuds de votre cluster d'utilisateur. Ceux-ci sont ainsi répartis 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 quatre hôtes physiques sont disponibles.
Bien que la règle nécessite que les nœuds de cluster soient répartis sur trois hôtes ESXi, nous vous recommandons vivement d'avoir au moins quatre hôtes ESXi disponibles. Vous éviterez ainsi de perdre le plan de contrôle du cluster d'administrateur. Par exemple, supposons que vous n'ayez que trois hôtes ESXi et que votre nœud de plan de contrôle de cluster d'administrateur se trouve sur un hôte ESXi qui échoue. 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 vous n'avez pas activé le DRS ou si vous n'avez pas au moins quatre hôtes sur lesquels les VM vSphere peuvent être planifiées, définissez antiAffinityGroups.enabled
sur false
.
enableVMTracking
Aperçu
Facultatif
Immuable
Prérempli: faux
Définissez cette valeur sur true
pour activer le suivi des VM avec les tags vSphere. Sinon, définissez cette valeur sur false
.
Pour en savoir plus, consultez la page Activer le suivi des VM.
Exemple :
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
Facultatif
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
Facultatif
Chaîne
Chemin d'accès d'un certificat de diffusion pour le serveur d'API Kubernetes.
Exemple :
authentication: sni: certPath: "my-cert-folder/example.com.crt"
authentication.sni.keyPath
Facultatif
Chaîne
Chemin du fichier de clé privée du certificat.
Exemple :
authentication: sni: keyPath: "my-cert-folder/example.com.key"
gkeConnect
Obligatoire
Immuable
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.
gkeConnect.projectID
Obligatoire
Immuable
Chaîne
L'ID de votre projet hôte de parc.
Exemple :
gkeConnect: projectID: "my-connect-project-123"
gkeConnect.registerServiceAccountKeyPath
Obligatoire
Modifiable
Chaîne
Chemin d'accès au fichier de clé JSON de votre compte de service connect-register.
Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster
.
Pour en savoir plus sur la modification de votre clé de compte de service connect-register, consultez la section Alterner les clés de compte de service.
Exemple :
gkeConnect: registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"
stackdriver
Si vous souhaitez activer Cloud Logging et Cloud Monitoring pour votre cluster, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.
stackdriver.projectID
Obligatoire pour la journalisation et la surveillance
Chaîne immuable
ID de votre projet logging-monitoring. Il s'agit du projet Google Cloud dans lequel vous verrez les journaux et les métriques.
Exemple :
stackdriver: projectID: "my-logs-project"
stackdriver.clusterLocation
Requis pour Logging et Monitoring
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
Immuable
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
Obligatoire pour la journalisation et la surveillance
Chaîne
Chemin du fichier de clé JSON pour votre compte de service de journalisation-surveillance.
Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster
.
Pour en savoir plus sur la modification de votre clé de compte de service logging-monitoring, consultez la section Alterner les clés de compte de service.
Exemple :
stackdriver: serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
stackdriver.disableVsphereResourceMetrics
Facultatif
Mutable
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
.
Exemple :
stackdriver: disableVsphereResourceMetrics: true
usageMetering
Aperçu
Immuable
Facultatif
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
Preview
Obligatoire pour la mesure de l'utilisation
Immuable
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
Preview
Obligatoire pour la mesure de l'utilisation
Immuable
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
Aperçu
Obligatoire pour la mesure de l'utilisation
Chaîne
immuable.
Chemin d'accès au fichier de clé JSON de votre compte de service BigQuery.
Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster
.
Pour en savoir plus sur la modification de votre clé de compte de service BigQuery, consultez la section Effectuer une rotation des clés de compte de service.
Exemple :
usageMetering: bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"
usageMetering.enableConsumptionMetering
Aperçu
Obligatoire pour la mesure de l'utilisation
Immuable
Booléen
Prérempli: faux
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
Requis pour les journaux d'audit Cloud
Chaîne immuable
ID du projet Google Cloud dans lequel vous souhaitez stocker les journaux d'audit.
Exemple :
cloudAuditLogging: projectID: "my-audit-project"
cloudAuditLogging.clusterLocation
Requis pour les journaux d'audit Cloud
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 les journaux d'audit Cloud
Chaîne
modifiable
Chemin d'accès au fichier de clé JSON de votre compte de service de journalisation-audit.
Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster
.
Pour en savoir plus sur la modification de votre clé de compte de service de journalisation d'audit, consultez la section Alterner les clés de compte de service.
Exemple :
cloudAuditLogging: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
autoRepair.enabled
Facultatif
Modulable
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
.
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.
secretsEncryption.mode
Obligatoire pour le chiffrement des secrets
Immuable
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
Integer
Prérempli: 1
Entier de votre choix à utiliser pour le numéro de version de clé. Nous vous recommandons de commencer par 1
.
Pour savoir comment mettre à jour ce champ pour un cluster existant, consultez la page Chiffrement des secrets toujours activé.
Exemple :
secretsEncryption: generatedKey: keyVersion: 1
secretsEncryption.generatedKey.disabled
Facultatif pour le chiffrement des secrets
Mutable
Booléen
Prérempli: false
Définissez cette valeur sur true
pour désactiver le chiffrement des secrets. Sinon, définissez-la sur false
.
Pour savoir comment mettre à jour ce champ pour un cluster existant, consultez la page Chiffrement des secrets toujours activé.
Exemple :
secretsEncryption: generatedKey: disabled: false