Documentation de référence sur les champs de configuration de cluster

Cette page décrit les champs compatibles avec le fichier de configuration de cluster Google Distributed Cloud. Pour chaque champ, le tableau suivant indique si le champ est obligatoire. Le tableau indique également les champs modifiables, ce c'est-à-dire les champs qui peuvent être modifiés après la création d'un cluster. Comme indiqué dans le tableau, certains champs modifiables ne peuvent être modifiés que lors d'une mise à niveau d'un cluster.

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

Vous pouvez créer un fichier de configuration de cluster à l'aide de la commande bmctl create config. Bien que certains champs aient des valeurs par défaut et d'autres, tels que metadata.name, puissent être renseignés automatiquement, ce fichier de configuration au format YAML est un modèle permettant de spécifier des informations sur votre cluster.

Pour créer un nouveau fichier de configuration de cluster, exécutez la commande suivante dans le dossier /baremetal :

bmctl create config -c CLUSTER_NAME

Remplacez CLUSTER_NAME par le nom du cluster que vous souhaitez créer. Pour en savoir plus sur bmctl, consultez la section consacrée à l'outil bmctl. Pour obtenir un exemple de fichier de configuration de cluster généré, consultez la section Exemple de fichier de configuration de cluster.

Remplir votre fichier de configuration

Dans votre fichier de configuration, saisissez les valeurs des champs comme décrit dans le tableau de référence des champs ci-dessous, avant de créer ou de mettre à niveau votre cluster.

Champs de configuration de cluster

  • Sélectionner un type de configuration
  • Ressource du cluster
  • Ressource d'espace de noms
  • Ressource NodePool
  • Identifiants
  • Miroir de registre
  • Ressource ClusterCIDRConfig

Nom du champ Type de ressource Obligatoire ? Modifiable ?

Obligatoire. Chaîne. Version du cluster. Cette valeur est définie pour la création et les mises à niveau des clusters.

Mutabilité : cette valeur ne peut pas être modifiée pour les clusters existants. La version ne peut être mise à jour qu'avec le processus de mise à niveau du cluster.

Ressource du cluster Obligatoire Non immuable

Cette section contient les paramètres nécessaires à l'utilisation d'OpenID Connect (OIDC). OIDC vous permet d'utiliser votre fournisseur d'identité existant pour gérer l'authentification des utilisateurs et des groupes dans les clusters Google Distributed Cloud.

Ressource du cluster

Facultatif. Certificat encodé au format PEM encodé en base64 pour le fournisseur OIDC. Pour créer la chaîne, encodez le certificat, y compris les en-têtes, en base64. Incluez la chaîne obtenue dans certificateAuthorityData en tant que ligne unique.

Par exemple (exemple encapsulé pour tenir dans un tableau) :

certificateAuthorityData:
        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC
        ...k1JSUN2RENDQWFT==
Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. ID de l'application cliente qui envoie des requêtes d'authentification au fournisseur OpenID.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Clé secrète partagée entre l'application cliente OIDC et le fournisseur OIDC.

Ressource du cluster Facultatif Immuable

Facultatif. Valeur booléenne (true|false). Spécifie si un proxy inverse est déployé dans le cluster pour connecter Google Cloud Console à un fournisseur d'identité sur site qui n'est pas accessible publiquement sur Internet. Si votre fournisseur d'identité n'est pas accessible sur l'Internet public, définissez ce champ sur true pour vous authentifier auprès de Google Cloud Console. Par défaut, cette valeur est définie sur false.

Ressource du cluster Facultatif Immuable

Facultatif. Liste d'éléments séparés par une virgule. Paramètres de clé-valeur supplémentaires à envoyer au fournisseur OpenID.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Revendication JWT que le fournisseur utilise pour renvoyer vos groupes de sécurité.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Préfixe ajouté aux revendications de groupe pour éviter les conflits avec les noms existants. Par exemple, pour un groupe dev et un préfixe oidc: donnés, oidc:dev.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne d'URL. URL où les requêtes d'autorisation sont envoyées à votre OpenID, telle que https://example.com/adfs. Le serveur d'API Kubernetes utilise cette URL pour découvrir les clés publiques permettant de valider les jetons. L'URL doit utiliser le protocole HTTPS.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne d'URL. URL de redirection que kubectl utilise pour l'autorisation. Lorsque vous activez OIDC, vous devez spécifier une valeur kubectlRedirectURL.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne d'URL. Serveur proxy à utiliser pour la connexion du cluster à votre fournisseur OIDC, le cas échéant. La valeur doit inclure un nom d'hôte ou une adresse IP, et éventuellement un port, un nom d'utilisateur et un mot de passe. Par exemple : http://user:password@10.10.10.10:8888.

Ressource du cluster Facultatif Immuable

Facultatif. Liste d'éléments séparés par une virgule. Niveaux d'accès supplémentaires à envoyer au fournisseur OpenID. Microsoft Azure et Okta nécessitent le niveau d'accès offline_access.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Revendication JWT à utiliser comme nom d'utilisateur. Si aucune valeur n'est spécifiée, la valeur par défaut est sub.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Préfixe ajouté aux revendications de nom d'utilisateur.

Ressource du cluster Facultatif Immuable

Facultatif. Valeur booléenne (true|false). Lorsque ce paramètre est défini sur true, les vérifications préliminaires internes sont ignorées lors de l'application de ressources aux clusters existants. La valeur par défaut est false.

Mutabilité : cette valeur peut être modifiée pour les clusters existants à l'aide de la commande bmctl update.

Ressource du cluster Facultatif Non immuable

Chaîne. Chemin d'accès à la clé du compte de service des opérations. Google Distributed Cloud utilise le compte de service des opérations pour s'authentifier auprès de Google Cloud Observability afin d'accéder à l'API Logging et à l'API Monitoring. À l'exception des clusters utilisateur, la clé du compte de service des opérations est requise. Les clusters d'utilisateurs utilisent les identifiants spécifiés pour le cluster de gestion (administrateur ou hybride).

Vous ne pouvez pas désactiver Cloud Logging et Cloud Monitoring pour vos clusters.

Pour obtenir des instructions sur la configuration de ce compte de service, consultez la page Configurer des comptes de service.

Identifiants Obligatoire Non immuable

Chaîne. Obligatoire. Nom du cluster auquel vous ajoutez le pool de nœuds. Créez la ressource de pool de nœuds dans le même espace de noms que le cluster associé et référencez le nom du cluster dans ce champ. Pour en savoir plus, consultez la section Ajouter et supprimer des pools de nœuds dans un cluster.

Exemple :

apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
  name: node-pool-new
  namespace: cluster-my-cluster
spec:
  clusterName: my-cluster
  nodes:
  - address:  10.200.0.10
  - address:  10.200.0.11
  - address:  10.200.0.12
Ressource NodePool Obligatoire Immuable

Cette section contient les paramètres réseau de votre cluster.

Ressource du cluster Obligatoire Non immuable

Valeur booléenne. Définissez ce champ sur true pour activer les fonctionnalités réseau avancées, telles que l'équilibrage de charge groupé avec BGP ou la passerelle NAT de sortie. Ces deux fonctionnalités utilisent Network Gateway pour GDC. Network Gateway pour GDC est le composant clé pour activer les fonctionnalités réseau avancées dans GKE Enterprise et Google Kubernetes Engine (GKE). L'un des principaux avantages de Network Gateway pour GDC est qu'il peut allouer de manière dynamique des adresses IP flottantes à partir d'un ensemble d'adresses que vous spécifiez dans une ressource personnalisée NetworkGatewayGroup.

Pour en savoir plus sur Network Gateway pour GDC et les fonctionnalités de mise en réseau avancées associées, consultez les pages Configurer une passerelle NAT de sortie et Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Immuable

Valeur booléenne. Définissez ce champ sur false pour désactiver les fonctionnalités Ingress regroupées avec Google Distributed Cloud. Les fonctionnalités Ingress regroupées avec votre cluster ne sont compatibles qu'avec les entrées. Si vous intégrez Istio ou Cloud Service Mesh pour bénéficier des avantages supplémentaires d'un maillage de services entièrement fonctionnel, nous vous recommandons de désactiver les fonctionnalités Ingress regroupées. Ce champ est défini sur true par défaut. Ce champ n'est pas présent dans le fichier de configuration de cluster généré. Vous ne pouvez désactiver les fonctionnalités Ingress regroupées que pour les clusters de version 1.13.0 et ultérieures.

Pour plus d'informations sur les fonctionnalités Ingress regroupées, consultez Créer un objet Service et un objet Ingress.

Ressource du cluster Facultatif Non immuable

Valeur booléenne. Définissez ce champ sur true pour activer le modèle de réseau du cluster en mode plat. En mode plat, chaque pod possède sa propre adresse IP unique. Les pods peuvent communiquer entre eux directement sans avoir besoin d'une passerelle intermédiaire ni d'une traduction d'adresse réseau (NAT). flatIPv4 est défini par défaut sur false. Vous ne pouvez activer le mode plat que lors de la création du cluster. Une fois que vous avez activé le mode plat pour votre cluster, vous ne pouvez plus le désactiver.

Ressource du cluster Facultatif Immuable

Facultatif. Chaîne. Spécifie le mode de mise en réseau pour l'équilibrage de charge Dataplane V2. La traduction d'adresse réseau source (SNAT) est le mode de mise en réseau par défaut. Le mode retour serveur direct (DSR) résout les problèmes liés à l'équilibrage de charge SNAT. En mode DSR (forwardMode: dsr), le nœud de l'équilibreur de charge utilise des options IP pour enregistrer l'adresse source du client. Le mode de mise en réseau pour l'équilibrage de charge Dataplane V2 ne peut être configuré qu'au moment de la création du cluster.

Valeurs autorisées : dsr | snat

Pour en savoir plus, consultez la page Configurer le mode de mise en réseau pour l'équilibrage de charge.

Ressource du cluster Facultatif Immuable

Facultatif. Valeur booléenne. Définissez ce champ sur true pour activer plusieurs interfaces réseau pour vos pods.

Pour en savoir plus sur la configuration et l'utilisation de plusieurs interfaces réseau, consultez la documentation Configurer plusieurs interfaces réseau pour des pods.

Ressource du cluster Facultatif Immuable

Obligatoire. Plage d'adresses IPv4 au format de bloc CIDR. Les pods spécifient les plages d'adresses IP à partir desquelles sont alloués les réseaux de pods.

  • Plage CIDR minimale du pod: valeur de masque /18, soit une taille de 14 bits (16 384 adresses IP).
  • Plage CIDR maximale du pod: valeur de masque de /8, qui correspond à une taille de 24 bits (16 777 216 adresses IP).

Exemple :

pods:
  cidrBlocks:
  - 192.168.0.0/16
Ressource du cluster Obligatoire Immuable

Obligatoire. Plage d'adresses IPv4 au format de bloc CIDR. Spécifiez la plage d'adresses IP à partir de laquelle les adresses IP virtuelles des services sont allouées. Les plages ne doivent chevaucher aucun sous-réseau accessible depuis votre réseau. Pour en savoir plus sur l'allocation d'adresses pour Internets privés, consultez la documentation RFC 1918.

À partir de la version 1.15.0 de Google Distributed Cloud, ce champ est modifiable. Si nécessaire, vous pouvez augmenter le nombre d'adresses IP allouées aux services après avoir créé un cluster. Pour en savoir plus, consultez Augmenter la portée du réseau de services. Vous pouvez seulement augmenter la plage du CIDR du service IPv4. La plage réseau ne peut pas être réduite, ce qui signifie que le masque (la valeur après "/") ne peut pas être augmenté.

  • Plage CIDR de service minimale: valeur de masque de /24, qui correspond à une taille de 8 bits (256 adresses).
  • Plage CIDR de service maximale: valeur de masque de /12, qui correspond à une taille de 20 bits (1 048 576 adresses IP).

Exemple :

services:
  cidrBlocks:
  - 10.96.0.0/12
Ressource du cluster Obligatoire Non immuable

Facultatif. Valeur booléenne. Définissez ce champ sur true pour activer la mise en réseau SR-IOV pour votre cluster.

Pour en savoir plus sur la configuration et l'utilisation de la mise en réseau SR-IOV, consultez la documentation Configurer la mise en réseau SR-IOV.

Ressource du cluster Facultatif Non immuable

Cette section contient des informations pour Cloud Logging et Cloud Monitoring.

Ressource du cluster Obligatoire Non immuable

Valeur booléenne. Les journaux d'audit Cloud sont utiles pour analyser les requêtes API suspectes et collecter des statistiques. Les journaux d'audit Cloud sont activés (disableCloudAuditLogging: false) par défaut. Définissez la valeur sur true pour désactiver les journaux d'audit Cloud.

Pour en savoir plus, consultez la page Utiliser Audit Logging.

Ressource du cluster Facultatif Non immuable

Ce champ n'est plus utilisé et n'a aucun effet. La journalisation et la surveillance des applications sont activées dans la ressource personnalisée Stackdriver. Pour en savoir plus sur l'activation de la journalisation et de la surveillance des applications, consultez Activer la journalisation et la surveillance des applications.

Ressource du cluster No-op Non immuable

Chaîne. Une région Google Cloud où vous souhaitez stocker les journaux de Logging et les métriques de Monitoring. Il est recommandé de choisir une région à proximité de votre centre de données sur site. Pour en savoir plus, consultez la section Emplacements mondiaux.

Exemple :

location: us-central1
Ressource du cluster Obligatoire Immuable

Chaîne. ID du projet Google Cloud dans lequel vous souhaitez afficher les journaux et les métriques.

Ressource du cluster Obligatoire Immuable

Cette section spécifie les paramètres de sécurité du cluster.

Ressource du cluster Facultatif Non immuable

Facultatif. L'autorisation configure l'accès des utilisateurs au cluster.

Ressource du cluster Facultatif Non immuable

Facultatif. Spécifie l'administrateur de cluster pour ce cluster.

Ressource du cluster Facultatif Non immuable

Facultatif. Le champ gcpAccounts spécifie la liste des comptes auxquels le rôle RBAC (contrôle des accès basé sur les rôles Kubernetes) clusterrole/cluster-admin est attribué. Les comptes dotés de ce rôle disposent d'un accès complet à toutes les ressources du cluster dans tous les espaces de noms. Ce champ configure également les règles RBAC qui permettent aux comptes spécifiés d'utiliser la passerelle Connect pour exécuter des commandes kubectl sur le cluster. Cette fonctionnalité est pratique si vous devez gérer plusieurs clusters, en particulier dans un environnement hybride avec des clusters GKE et sur site.

Ces stratégies RBAC permettent également aux utilisateurs de se connecter à la console Google Cloud à l'aide de leur identité Google, s'ils disposent des rôles Identity and Access Management (IAM) requis pour accéder à la console.

Ce champ accepte un tableau de noms de comptes. Les comptes utilisateur et les comptes de service sont acceptés. Pour les utilisateurs, vous spécifiez leur adresse e-mail du compte Google Cloud. Pour les comptes de service, spécifiez les adresses e-mail au format suivant : SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com. Exemple :

...
clusterSecurity:
  authorization:
    clusterAdmin:
      gcpAccounts:
      - alex@example.com
      - hao@example.com
      - my-sa@example-project-123.iam.gserviceaccount.com
...

Lors de la mise à jour d'un cluster pour ajouter un compte, veillez à inclure tous les comptes de la liste (comptes existants et nouveaux), car la commande de mise à jour remplace la liste par les valeurs spécifiées dans la mise à jour.

Ce champ ne s'applique qu'aux clusters pouvant exécuter des charges de travail. Par exemple, vous ne pouvez pas spécifier gcpAccounts pour les clusters d'administrateur.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true|false). Activer ou désactiver les conteneurs système Bare Metal sans racine. Lorsque ce champ est activé, les conteneurs du système Bare Metal s'exécutent en tant qu'utilisateur non racine, avec un ID utilisateur compris entre 2 000 et 5 000. Lorsque ce champ est désactivé, les conteneurs du système Bare Metal s'exécutent en tant qu'utilisateur racine. Par défaut, cette fonctionnalité est activée. Nous vous déconseillons vivement de désactiver cette fonctionnalité, car l'exécution de conteneurs en tant qu'utilisateur racine entraîne un risque de sécurité. Après la création du cluster, ce champ ne peut être activé ou désactivé que lors de la mise à niveau. Pour en savoir plus, consultez la section Ne pas exécuter de conteneurs en tant qu'utilisateur racine.

Ressource du cluster Facultatif Mutable (mise à niveau uniquement)
bêta)

Facultatif. Valeur booléenne (true|false). Activez ou désactivez seccomp à l'échelle du cluster. Lorsque ce champ est désactivé, les conteneurs sans profil seccomp dans le fichier de configuration du cluster s'exécutent sans être confinés. Lorsque ce champ est activé, ces conteneurs sont sécurisés à l'aide du profil seccomp par défaut de l'environnement d'exécution du conteneur. Cette fonctionnalité est activée par défaut. Après la création du cluster, ce champ ne peut être activé ou désactivé que lors de la mise à niveau. Pour en savoir plus, consultez la section Utiliser seccomp pour restreindre les conteneurs.

Ressource du cluster Facultatif Mutable (mise à niveau uniquement)

Facultatif. Entier. Valeur par défaut : 2000 Les conteneurs système de Google Distributed Cloud facilitent l'installation et la gestion des clusters. Les ID utilisateur (UID) et de groupe (GID) utilisés par ces conteneurs peuvent être contrôlés par le champ startUIDRangeRootlessContainers de la spécification du cluster. Les conteneurs système utilisent les UID et les GID compris entre startUIDRangeRootlessContainers et startUIDRangeRootlessContainers + 2 999, qui correspondent à une plage de 2000 à 4999 par défaut. Lorsque vous mettez à jour startUIDRangeRootlessContainers, sélectionnez une valeur qui garantit que les espaces UID et GID utilisés par les conteneurs système ne chevauchent pas ceux attribués aux charges de travail des utilisateurs. La valeur startUIDRangeRootlessContainers ne peut être modifiée que lors des mises à niveau.

Valeurs autorisées : 1000-57000

Exemple :

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: name-of-cluster
spec:
 clusterSecurity:
    startUIDRangeRootlessContainers: 5000
...

Pour en savoir plus, consultez la section Ne pas exécuter de conteneurs en tant qu'utilisateur racine.

Ressource du cluster Facultatif Mutable (mise à niveau uniquement)

Cette section contient des informations sur le plan de contrôle et ses composants.

Ressource du cluster Obligatoire Non immuable

Facultatif. Tableau de chaînes (noms de domaine et adresses IP) Un autre nom d'objet (SAN, Subject Alternative Name) est une fonctionnalité des certificats SSL qui vous permet de définir les noms de domaine et sous-domaines sur lesquels vous souhaitez qu'un certificat soit valide. Sur un cluster Google Distributed Cloud, les SAN pour le certificat de serveur d'API incluent par défaut les adresses IP et les adresses IP virtuelles des nœuds du plan de contrôle, ainsi que les noms DNS de Kubernetes. Utilisez ce champ pour ajouter des SAN au certificat de serveur d'API pour le cluster. Les noms de domaine doivent être conformes à la norme RFC 1035. Pour en savoir plus, consultez Ajouter des domaines au certificat du serveur d'API.

Exemple :

...
controlPlane:
  apiServerCertExtraSANs:
  - "demo-dns.example.com"
  - "sample-dns.com"
  nodePoolSpec:
  ...
        

Ce champ peut être ajouté ou modifié à tout moment.

Ressource du cluster Facultatif Non immuable

Cette section spécifie les adresses IP du pool de nœuds utilisé par le plan de contrôle et ses composants. La spécification du pool de nœuds du plan de contrôle (comme la spécification du pool de nœuds de l'équilibreur de charge) est spéciale. Cette spécification déclare et contrôle les ressources critiques du cluster. Cette section du fichier de configuration du cluster constitue la source canonique de cette ressource. Ne modifiez pas directement les ressources du pool de nœuds du plan de contrôle de premier niveau. Modifiez plutôt les sections associées dans le fichier de configuration du cluster.

Ressource du cluster Obligatoire Non immuable

Facultatif. Cette section contient des champs qui configurent kubelet sur tous les nœuds du pool de nœuds du plan de contrôle.

Exemple :

controlPlane:
  nodePoolSpec:
    kubeletConfig:
      registryBurst: 15
      registryPullQPS: 10
      serializeImagePulls: false
Ressource du cluster Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie la quantité maximale de requêtes d'extraction d'images pouvant être ajoutées à la file d'attente de traitement pour gérer les pics de requêtes. Dès qu'une requête d'extraction démarre, une nouvelle requête peut être ajoutée à la file d'attente. La valeur par défaut est 10. Ce champ correspond à l'option de configuration de kubelet registryBurst (v1beta1).

La valeur de registryPullQPS prévaut sur ce paramètre. Par exemple, avec les paramètres par défaut, les utilisations intensives de 10 requêtes maximum simultanées sont autorisées, mais elles doivent être traitées au taux par défaut de cinq requêtes par seconde. Ce comportement d'utilisation intensive n'est utilisé que lorsque registryPullQPS est supérieur à 0.

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie le taux de traitement des requêtes d'extraction d'images Container Registry en requêtes par seconde (RPS). Lorsque registryPullQPS est défini sur une valeur supérieure à 0, le taux de requêtes est limité à ce nombre de requêtes par seconde. Si registryPullQPS est défini sur 0, le taux de requêtes n'est pas limité. La valeur par défaut est 5.

Ce champ correspond à l'option de configuration de kubelet registryPullQPS (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true|false). Ce champ spécifie si les extractions de registre de conteneurs sont traitées en parallèle ou une par une. La valeur par défaut est true, ce qui spécifie que les extractions sont traitées une par une. Lorsque ce paramètre est défini sur false, kubelet extrait les images en parallèle. Ce champ correspond à l'option de configuration de kubelet serializeImagePulls (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Obligatoire. Tableau d'adresses IP. En règle générale, ce tableau contient soit une adresse IP pour une seule machine, soit les adresses IP de trois machines pour un déploiement à haute disponibilité.

Exemple :

controlPlane:
  nodePoolSpec:
    nodes:
    - address: 192.168.1.212
    - address: 192.168.1.213
    - address: 192.168.1.214
        

Ce champ peut être modifié à chaque mise à jour ou mise à niveau d'un cluster.

Ressource du cluster Obligatoire Non immuable

Obligatoire. Chaîne (adresse IPv4). Lorsque vous spécifiez un pool de nœuds, vous utilisez le champ address pour spécifier l'adresse IPv4 par défaut pour l'accès SSH de chaque nœud. L'accès SSH est nécessaire pour les opérations d'administration du cluster, telles que les installations et les mises à niveau. Par défaut, cette adresse IP est également utilisée pour le trafic de données et Kubernetes. Toutefois, si vous spécifiez l'adresse k8sIP pour un nœud donné, le trafic est réparti entre les deux adresses du nœud, l'adresse k8sIP étant utilisée exclusivement pour le trafic de données et Kubernetes.

Exemple :

controlPlane:
  nodePoolSpec:
    nodes:
    - address: 192.168.1.212
    - address: 192.168.1.213
    - address: 192.168.1.214
        

Ce champ peut être modifié à chaque mise à jour ou mise à niveau d'un cluster.

Ressource du cluster Obligatoire Non immuable

Facultatif. Chaîne (adresse IPv4). Lorsque vous spécifiez l'adresse k8sIP facultative pour un nœud, elle est dédiée à la gestion des données et du trafic Kubernetes pour le nœud, telles que les requêtes et les réponses pour l'API Kubernetes, le kubelet et les charges de travail. Lorsque vous spécifiez k8sIP, l'adresse IP du nœud standard nodePoolSpec.nodes.address est utilisée exclusivement pour les connexions SSH au nœud. Si vous ne spécifiez pas d'adresse k8sIP, l'adresse IP du nœud standard gère tout le trafic du nœud.

Exemple :

controlPlane:
  nodePoolSpec:
    nodes:
    - address: 192.168.2.212
      k8sIP: 192.168.1.212
    - address: 192.168.1.213
    - address: 192.168.1.214
        

Ce champ ne peut plus être modifié une fois le cluster créé.

Ressource du cluster Facultatif Immuable

Chaîne. Chemin d'accès à la clé du compte de service Container Registry. Le compte de service Container Registry est un agent de service qui agit au nom de Container Registry lors de l'interaction avec les services Google Cloud.

Identifiants Facultatif Non immuable

Cette section contient des informations sur le projet Google Cloud que vous souhaitez utiliser pour connecter votre cluster à Google Cloud.

Ressource du cluster Obligatoire Immuable

Facultatif. Chaîne. Valeur par défaut : global L'appartenance au parc de vos clusters est gérée par le service de parc (gkehub.googleapis.com) et le service Connect (gkeconnect.googleapis.com). L'appartenance au parc peut être globale ou régionale. Vous pouvez éventuellement utiliser gkeConnect.location pour spécifier la région Google Cloud dans laquelle le parc et les services Connect s'exécutent, afin que le trafic soit limité à votre région.

Pour obtenir la liste des régions disponibles, consultez la section Régions disponibles pour l'API GKE On-Prem. Si cette valeur n'est pas spécifiée, les instances globales des services sont utilisées.

Veuillez noter les points suivants :

  • Les clusters créés à des versions antérieures à la version 1.28 sont gérés par les services mondiaux Fleet et Connect.
  • Les nouveaux clusters créés à l'aide des clients de l'API GKE On-Prem, tels que la console Google Cloud, Google Cloud CLI ou Terraform, utilisent la même région que celle que vous spécifiez pour l'API GKE On-Prem.
  • Pour les nouveaux clusters, si vous incluez ce champ, la région que vous spécifiez doit être identique à celle configurée dans gkeOnPremAPI.location. Si les régions ne sont pas identiques, la création du cluster échoue.

Exemple :

spec:
  ...
  gkeConnect:
    projectID: "my-connect-project-123"
    location: "us-central1"

Cette valeur ne peut pas être modifiée pour les clusters existants.

Ressource du cluster Facultatif Immuable

Obligatoire : chaîne. ID du projet Google Cloud que vous souhaitez utiliser pour connecter votre cluster à Google Cloud. Également nommé projet hôte du parc.

Exemple :

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

Cette valeur ne peut pas être modifiée pour les clusters existants.

Ressource du cluster Obligatoire Immuable

Chaîne. Chemin d'accès à la clé du compte de service de l'agent. Google Distributed Cloud utilise ce compte de service pour maintenir une connexion entre Google Distributed Cloud et Google Cloud.

Pour obtenir des instructions sur la configuration de ce compte de service, consultez la page Configurer des comptes de service à utiliser avec Connect.

Identifiants Facultatif Non immuable

Chaîne. Chemin d'accès à la clé du compte de service d'enregistrement. Google Distributed Cloud utilise ce compte de service pour enregistrer vos clusters d'utilisateur auprès de Google Cloud.

Pour obtenir des instructions sur la configuration de ce compte de service, consultez la page Configurer des comptes de service à utiliser avec Connect.

Identifiants Facultatif Non immuable

Dans les versions 1.16 et ultérieures, si l'API GKE On-Prem est activée dans votre projet Google Cloud, tous les clusters du projet sont automatiquement enregistrés dans l'API GKE On-Prem dans la région configurée dans clusterOperations.location.

  • Si vous souhaitez enregistrer tous les clusters du projet dans l'API GKE On-Prem, veillez à suivre les étapes de la section Avant de commencer pour activer et utiliser l'API GKE On-Prem dans le projet.
  • Si vous ne souhaitez pas enregistrer le cluster dans l'API GKE On-Prem, incluez cette section et définissez gkeOnPremAPI.enabled sur false. Si vous ne souhaitez pas enregistrer de clusters dans le projet, désactivez gkeonprem.googleapis.com (le nom de service de l'API GKE On-Prem) dans le projet. Pour obtenir des instructions, consultez la page Désactiver des services.
  • Si vous souhaitez enregistrer tous les clusters du projet dans l'API GKE On-Prem, veillez à suivre les étapes de la section Avant de commencer pour activer et utiliser l'API GKE On-Prem dans le projet.
  • Si vous ne souhaitez pas enregistrer le cluster dans l'API GKE On-Prem, incluez cette section et définissez gkeOnPremAPI.enabled sur false. Si vous ne souhaitez pas enregistrer de clusters dans le projet, désactivez gkeonprem.googleapis.com (le nom de service de l'API GKE On-Prem) dans le projet. Pour obtenir des instructions, consultez la page Désactiver des services.

L'enregistrement de votre cluster d'administrateur ou d'utilisateur dans l'API GKE On-Prem vous permet d'utiliser des outils standards (la console Google Cloud, Google Cloud CLI ou Terraform) pour afficher les détails du cluster et gérer son cycle de vie. Par exemple, vous pouvez exécuter des commandes gcloud CLI pour obtenir des informations sur votre cluster.

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 du cluster. Les outils standards utilisent l'API GKE On-Prem et sont collectivement appelés clients de l'API GKE On-Prem.

Si vous définissez gkeOnPremAPI.enabled sur true, assurez-vous de suivre les étapes décrites dans la section Avant de commencer avant de créer ou de mettre à jour le cluster à l'aide de bmctl pour activer et initialiser l'API GKE On-Prem.

Après avoir ajouté cette section et créé ou mis à jour le cluster, si vous supprimez ensuite la section et mettez à jour le cluster, la mise à jour échoue.

Si vous préférez créer le cluster à l'aide d'un outil standard au lieu de bmctl, consultez les pages suivantes:

Lorsque vous créez un cluster à l'aide d'un outil standard, le cluster est automatiquement enregistré dans l'API GKE On-Prem.

Ressource du cluster Facultatif

Par défaut, le cluster est inscrit dans l'API GKE On-Prem si celle-ci est activée dans votre projet. Définissez cette valeur sur false si vous ne souhaitez pas enregistrer le cluster.

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

gkeOnPremAPI:
  enabled: false
Ressource du cluster Obligatoire Non immuable

Région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Sélectionnez l'une des régions compatibles. Doit être une chaîne non vide si gkeOnPremAPI.enabled est true. Si gkeOnPremAPI.enabled est défini sur false, n'incluez pas ce champ.

Si cette section n'est pas incluse dans votre fichier de configuration, ce champ est défini sur clusterOperations.location.

Ressource du cluster Facultatif Immuable

Le fichier de configuration de cluster généré par bmctl pour Google Distributed Cloud inclut des champs permettant de spécifier les chemins d'accès aux identifiants et aux fichiers de clés hébergés sur le système de fichiers local. Ces identifiants et clés sont nécessaires pour connecter vos clusters les uns aux autres et pour les connecter à votre projet Google Cloud.

Exemple :

gcrKeyPath: bmctl-workspace/.sa-keys/my-gcp-project-anthos-baremetal-gcr.json
sshPrivateKeyPath: /home/root-user/.ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: bmctl-workspace/.sa-keys/my-gcp-project-anthos-baremetal-connect.json
gkeConnectRegisterServiceAccountKeyPath: bmctl-workspace/.sa-keys/my-gcp-project-anthos-baremetal-register.json
cloudOperationsServiceAccountKeyPath: bmctl-workspace/.sa-keys/my-gcp-project-anthos-baremetal-cloud-ops.json
        
Identifiants Facultatif Non immuable

Définit la configuration de la plage CIDR IPv4. Vous devez fournir au moins un des champs ipv4 ou ipv6 pour la ressource ClusterCidrConfig.

Ressource ClusterCIDRConfig Facultatif Immuable

Chaîne. Définit le bloc CIDR du nœud IPv4. Les nœuds ne peuvent avoir qu'une seule plage de chaque famille. Ce bloc CIDR doit correspondre au CIDR du pod décrit dans la ressource Cluster.

Exemple :

ipv4:
  cidr: "10.1.0.0/16"
         
Ressource ClusterCIDRConfig Obligatoire Immuable

Entier. Définit la taille du masque pour le bloc CIDR IPv4 du nœud. Par exemple, la valeur 24 correspond au masque de réseau /24. Assurez-vous que le masque de réseau du bloc CIDR du nœud dépasse le nombre maximal de pods que le kubelet peut planifier, qui est défini dans l'option --max-pods du kubelet.

Ressource ClusterCIDRConfig Obligatoire Immuable

Définit la configuration de la plage CIDR IPv6. Vous devez fournir au moins un des champs ipv4 ou ipv6 pour la ressource ClusterCidrConfig.

Ressource ClusterCIDRConfig Facultatif Immuable

Chaîne. Définit le bloc CIDR du nœud IPv6. Les nœuds ne peuvent avoir qu'une seule plage de chaque famille.

Exemple :

ipv6:
  cidr: "2620:0:1000:2631:3:10:3:0/112"
         
Ressource ClusterCIDRConfig Obligatoire Immuable

Entier. Définit la taille du masque pour le bloc CIDR IPv6 du nœud. Par exemple, la valeur 120 correspond au masque de réseau /120. Assurez-vous que le masque de réseau du bloc CIDR du nœud dépasse le nombre maximal de pods que le kubelet peut planifier, qui est défini dans l'option --max-pods du kubelet.

Ressource ClusterCIDRConfig Obligatoire Immuable

Facultatif. Cette section contient des champs qui configurent kubelet sur tous les nœuds du pool de nœuds du plan de contrôle.

Exemple :

apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
  name: node-pool-new
  namespace: cluster-my-cluster
spec:
  clusterName: my-cluster
  ...
  kubeletConfig:
    serializeImagePulls: true
    registryBurst: 20
    registryPullQPS: 10
Ressource NodePool Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie la quantité maximale de requêtes d'extraction d'images pouvant être ajoutées à la file d'attente de traitement pour gérer les pics de requêtes. Dès qu'une requête d'extraction démarre, une nouvelle requête peut être ajoutée à la file d'attente. La valeur par défaut est 10. Ce champ correspond à l'option de configuration de kubelet registryBurst (v1beta1).

La valeur de registryPullQPS prévaut sur ce paramètre. Par exemple, avec les paramètres par défaut, les utilisations intensives de 10 requêtes maximum simultanées sont autorisées, mais elles doivent être traitées au taux par défaut de cinq requêtes par seconde. Ce comportement d'utilisation intensive n'est utilisé que lorsque registryPullQPS est supérieur à 0.

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource NodePool Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie le taux de traitement des requêtes d'extraction d'images Container Registry en requêtes par seconde (RPS). Lorsque registryPullQPS est défini sur une valeur supérieure à 0, le taux de requêtes est limité à ce nombre de requêtes par seconde. Si registryPullQPS est défini sur 0, le taux de requêtes n'est pas limité. La valeur par défaut est 5.

Ce champ correspond à l'option de configuration de kubelet registryPullQPS (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource NodePool Facultatif Non immuable

Facultatif. Valeur booléenne (true|false). Ce champ spécifie si les extractions de registre de conteneurs sont traitées en parallèle ou une par une. La valeur par défaut est true, ce qui spécifie que les extractions sont traitées une par une. Lorsque ce paramètre est défini sur false, kubelet extrait les images en parallèle. Ce champ correspond à l'option de configuration de kubelet serializeImagePulls (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource NodePool Facultatif Non immuable

Obsolète. Depuis la version 1.11.2, vous pouvez activer ou désactiver VM Runtime sur GDC en mettant à jour la ressource personnalisée VMRuntime uniquement. Valeur booléenne. Détermine si l'émulation logicielle est utilisée ou non pour exécuter des machines virtuelles. Si le nœud est compatible avec la virtualisation matérielle, définissez useEmulation sur false pour de meilleures performances. Si la virtualisation matérielle n'est pas compatible ou si vous n'êtes pas sûr, définissez-la sur true.

Ressource du cluster Facultatif Non immuable

Facultatif. Mappage (paires clé/valeur). Les libellés sont rapprochés des nœuds du pool de nœuds, sauf si l'annotation baremetal.cluster.gke.io/label-taint-no-sync est appliquée au cluster. Pour en savoir plus sur les libellés, consultez la page Libellés et sélecteurs.

Ressource NodePool Facultatif Non immuable

Cette section contient les paramètres d'équilibrage de charge du cluster.

Ressource du cluster Obligatoire Non immuable

Objets. Nom et tableau des adresses IP pour le pool de l'équilibreur de charge de votre cluster. La configuration du pool d'adresses n'est valide que pour le mode LB bundled dans les clusters non administrateur. Vous pouvez ajouter de nouveaux pools d'adresses à tout moment, mais vous ne pouvez pas supprimer des pools d'adresses existants. Un pool d'adresses existant peut être modifié pour modifier les champs avoidBuggyIPs et manualAssign uniquement.

Ressource du cluster Facultatif Immuable

Tableau de plages d'adresses IP. Spécifiez une liste de plages d'adresses IP sans chevauchement pour l'équilibreur de charge du plan de données. Toutes les adresses doivent se trouver dans le même sous-réseau que les nœuds de l'équilibreur de charge.

Exemple :

addressPools:
- name: pool1
  addresses:
  - 192.168.1.0-192.168.1.4
  - 192.168.1.240/28
  
Ressource du cluster Facultatif Immuable

Facultatif. Valeur booléenne (true | false). Si la valeur est true, le pool omet les adresses IP se terminant par .0 et .255. Certains matériels réseau suppriment le trafic vers ces adresses spéciales. Vous pouvez omettre ce champ, dont la valeur par défaut est false.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true | false). Si la valeur est true, les adresses de ce pool ne sont pas automatiquement attribuées aux services Kubernetes. Si la valeur est true, une adresse IP de ce pool ne va être utilisée que si elle est spécifiée explicitement par un service. Vous pouvez omettre ce champ, dont la valeur par défaut est false.

Ressource du cluster Facultatif Non immuable

Chaîne. Nom que vous choisissez pour le pool de l'équilibreur de charge de votre cluster.

Ressource du cluster Obligatoire Immuable

Facultatif. Objet (liste de mappages). Cette section spécifie un ou plusieurs pairs BGP (Border Gateway Protocol) de votre réseau local (externe au cluster). Vous spécifiez des pairs BGP lorsque vous configurez la partie d'équilibrage de charge du plan de contrôle dans la solution d'équilibrage de charge groupé qui utilise BGP. Chaque pair est spécifié à l'aide d'un mappage composé d'une adresse IP, d'un numéro ASN (autonomous system number) et, éventuellement, d'une liste d'une ou plusieurs adresses IP pour les nœuds du plan de contrôle. La configuration d'appairage BGP pour l'équilibrage de charge du plan de contrôle ne peut pas être mise à jour une fois le cluster créé.

Exemple :

loadBalancer:
  mode: bundled
  type: bgp
  localASN: 65001
  bgpPeers:
  - ip: 10.0.1.254
    asn: 65002
    controlPlaneNodes:
      - 10.0.1.10
      - 10.0.1.11
  - ip: 10.0.2.254
    asn: 65002
    controlPlaneNodes:
      - 10.0.2.10
  

Pour en savoir plus, consultez la section Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Non immuable

Facultatif. Chaîne. Numéro de système autonome (numéro ASN) du réseau qui contient l'appareil pair externe. Spécifiez un numéro ASN pour chaque pair BGP configuré pour l'équilibrage de charge du plan de contrôle, lorsque vous configurez la solution d'équilibrage de charge groupé qui utilise BGP. Pour en savoir plus, consultez la section Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Non immuable

Facultatif. Tableau d'adresses IP (IPv4). Une ou plusieurs adresses IP pour les nœuds du plan de contrôle qui se connectent au pair BGP externe, lorsque vous configurez la solution d'équilibrage de charge groupé qui utilise BGP. Si vous ne spécifiez aucun nœud de plan de contrôle, tous les nœuds du plan de contrôle se connectent au pair externe. Si vous spécifiez une ou plusieurs adresses IP, seuls les nœuds spécifiés participent aux sessions d'appairage. Pour en savoir plus, consultez la section Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Non immuable

Facultatif. Chaîne (adresse IPv4). Adresse IP d'un périphérique d'appairage externe de votre réseau local. Pour en savoir plus, consultez la section Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Non immuable

Facultatif. Chaîne. Spécifie le numéro ASN (Autonomous System Number) du cluster en cours de création. Ce champ est utilisé lors de la configuration de la solution d'équilibrage de charge groupé qui utilise le protocole BGP (Border Gateway Protocol). Pour en savoir plus, consultez la section Configurer des équilibreurs de charge groupés avec BGP.

Ressource du cluster Facultatif Non immuable

Obligatoire. Chaîne. Spécifie le mode d'équilibrage de charge. En mode bundled, Google Distributed Cloud installe un équilibreur de charge sur les nœuds d'équilibreur de charge lors de la création du cluster. En mode manual, le cluster repose sur un équilibreur de charge externe configuré manuellement. Pour plus d'informations, consultez la section Présentation des équilibreurs de charge.

Valeurs autorisées : bundled | manual

Ressource du cluster Obligatoire Immuable

Facultatif. Utilisez cette section pour configurer un pool de nœuds d'équilibreur de charge. Les nœuds que vous spécifiez font partie du cluster Kubernetes et exécutent des charges de travail et des équilibreurs de charge standards. Si vous ne spécifiez pas de pool de nœuds, les nœuds du plan de contrôle sont utilisés pour l'équilibrage de charge. Cette section ne s'applique que lorsque le mode d'équilibrage de charge est défini sur bundled.

Si vous souhaitez empêcher les charges de travail de s'exécuter sur un nœud du pool de nœuds d'équilibrage de charge, ajoutez le rejet suivant au nœud:

node-role.kubernetes.io/load-balancer:NoSchedule

Google Distributed Cloud ajoute des tolérances pour ce rejet aux pods requis pour l'équilibrage de charge.

Ressource du cluster Facultatif Non immuable

Facultatif. Cette section contient des champs qui configurent kubelet sur tous les nœuds du pool de nœuds du plan de contrôle.

Exemple :

loadBalancer:
  nodePoolSpec:
    kubeletConfig:
      registryBurst: 15
      registryPullQPS: 10
      serializeImagePulls: false
Ressource du cluster Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie le nombre maximal de requêtes d'extraction d'images pouvant être ajoutées à la file d'attente de traitement pour gérer les pics de requêtes. Dès qu'une requête d'extraction démarre, une nouvelle requête peut être ajoutée à la file d'attente. La valeur par défaut est 10. Ce champ correspond à l'option de configuration de kubelet registryBurst (v1beta1).

La valeur de registryPullQPS prévaut sur ce paramètre. Par exemple, avec les paramètres par défaut, les utilisations intensives de 10 requêtes maximum simultanées sont autorisées, mais elles doivent être traitées au taux par défaut de cinq requêtes par seconde. Ce comportement d'utilisation intensive n'est utilisé que lorsque registryPullQPS est supérieur à 0.

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Facultatif. Entier (non négatif) Spécifie le taux de traitement des requêtes d'extraction d'images Container Registry en requêtes par seconde (RPS). Lorsque registryPullQPS est défini sur une valeur supérieure à 0, le taux de requêtes est limité à ce nombre de requêtes par seconde. Si registryPullQPS est défini sur 0, le taux de requêtes n'est pas limité. La valeur par défaut est 5.

Ce champ correspond à l'option de configuration de kubelet registryPullQPS (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true|false). Ce champ spécifie si les extractions de registre de conteneurs sont traitées en parallèle ou une par une. La valeur par défaut est true, ce qui spécifie que les extractions sont traitées une par une. Lorsque ce paramètre est défini sur false, kubelet extrait les images en parallèle. Ce champ correspond à l'option de configuration de kubelet serializeImagePulls (v1beta1).

Ce champ peut être défini à chaque création, mise à jour ou mise à niveau d'un cluster, et le paramètre persiste lors des mises à niveau des clusters. Pour en savoir plus, consultez Configurer les paramètres de récupération d'images kubelet.

Ressource du cluster Facultatif Non immuable

Cette section contient un tableau d'adresses IP pour les nœuds de votre pool d'équilibreur de charge.

Tous les nœuds du pool de nœuds de l'équilibreur de charge doivent se trouver dans le même sous-réseau de couche 2 que les adresses IP virtuelles de l'équilibreur de charge configurées dans la section loadBalancer.addressPools du fichier de configuration. Toutefois, si vous spécifiez une adresse IP Kubernetes k8sIP pour un nœud, seule cette adresse doit se trouver dans le même sous-réseau de couche 2 que les autres adresses IP virtuelles de l'équilibreur de charge.

Ressource du cluster Facultatif Non immuable

Facultatif. Chaîne (adresse IPv4). Lorsque vous spécifiez un pool de nœuds, vous utilisez le champ address pour spécifier l'adresse IPv4 par défaut pour l'accès SSH de chaque nœud. L'accès SSH est nécessaire pour les opérations d'administration du cluster, telles que les installations et les mises à niveau. Par défaut, cette adresse IP est également utilisée pour le trafic de données et Kubernetes. Toutefois, si vous spécifiez l'adresse k8sIP pour un nœud donné, le trafic est réparti entre les deux adresses du nœud, l'adresse k8sIP étant utilisée exclusivement pour le trafic de données et Kubernetes.

Bien que les nœuds du pool de nœuds de l'équilibreur de charge puissent exécuter des charges de travail, ils sont distincts des nœuds des pools de nœuds de calcul. Vous ne pouvez pas inclure un nœud de cluster donné dans plusieurs pools de nœuds. Le chevauchement des adresses IP des nœuds bloque la création de clusters et les autres opérations de cluster.

Exemple :

loadBalancer:
  mode: bundled
  ...
  nodePoolSpec:
    nodes:
    - address: 10.200.0.25
    - address: 10.200.0.26
    - address: 10.200.0.27
        
Ressource du cluster Facultatif Non immuable

Facultatif. Chaîne (adresse IPv4). Lorsque vous spécifiez l'adresse k8sIP facultative pour un nœud, elle est dédiée à la gestion des données et du trafic Kubernetes pour le nœud, telles que les requêtes et les réponses pour l'API Kubernetes, le kubelet et les charges de travail. Lorsque vous spécifiez k8sIP, l'adresse IP du nœud standard nodePoolSpec.nodes.address est utilisée exclusivement pour les connexions SSH au nœud. Si vous ne spécifiez pas d'adresse k8sIP, l'adresse IP standard du nœud gère tout le trafic du nœud.

Exemple :

loadBalancer:
  mode: bundled
  ...
  addressPools:
  - name: pool1
    addresses:
    - 10.200.0.92-10.200.0.100
  nodePoolSpec:
    nodes:
    - address: 10.200.1.25
      k8sIP: 10.200.0.25
    - address: 10.200.0.26
    - address: 10.200.0.27
        

Ce champ ne peut plus être modifié une fois le cluster créé.

Ressource du cluster Facultatif Immuable

Nombre. Port de destination utilisé pour le trafic envoyé au plan de contrôle Kubernetes (serveurs d'API Kubernetes).

Ressource du cluster Obligatoire Immuable

Facultatif. Chaîne. Spécifie le type d'équilibrage de charge groupé utilisé, couche 2 ou protocole BGP (Border Gateway Protocol). Si vous utilisez l'équilibrage de charge groupé standard, définissez type sur layer2. Si vous utilisez l'équilibrage de charge groupé avec BGP, définissez type sur bgp. Si vous ne définissez pas type, la valeur par défaut est layer2.

Valeurs autorisées : layer2 | bgp

Ressource du cluster Facultatif Immuable

Obligatoire. Spécifie l'adresse IP virtuelle à connecter au serveur d'API Kubernetes. Cette adresse ne doit pas être comprise dans la plage d'adresses IP utilisées pour les pools d'adresses de l'équilibreur de charge, loadBalancer.addressPools.addresses.

Ressource du cluster Obligatoire Immuable

Facultatif. Chaîne (adresse IPv4). Adresse IP que vous avez choisie pour configurer l'équilibreur de charge pour le trafic entrant.

Ressource du cluster Facultatif Immuable

Facultatif. Adresse IPv4 unique ou plage d'adresses IPv4. Indiquez les adresses IP des machines de nœud que vous souhaitez passer en mode de maintenance. Pour plus d'informations, consultez la section Passer des nœuds en mode maintenance.

Exemple :

  maintenanceBlocks:
    cidrBlocks:
    - 192.168.1.200  # Single machine
    - 192.168.1.100-192.168.1.109  # Ten machines
  
Ressource du cluster Facultatif Non immuable

Obligatoire. Chaîne. Généralement, le nom de l'espace de noms suit le format cluster-CLUSTER_NAME, mais le préfixe cluster- n'est pas strictement obligatoire depuis la version 1.7.2 de Google Distributed Cloud.

Cette valeur ne peut pas être modifiée pour les clusters existants.

Ressource d'espace de noms Obligatoire Immuable

Facultatif. Chaîne. Spécifiez le nom d'utilisateur non racine que vous souhaitez utiliser pour accéder aux machines de nœud de votre cluster (fonctionnalité SUDO sans mot de passe). Votre clé SSH, sshPrivateKeyPath, doit fonctionner pour l'utilisateur spécifié. Les opérations de création et de mise à jour du cluster vérifient que les machines de nœud sont accessibles avec l'utilisateur et la clé SSH spécifiés.

Ressource du cluster Facultatif Non immuable

Cette section contient les paramètres de configuration des nœuds de cluster.

Ressource du cluster Facultatif Mutable (mise à niveau uniquement)

Obsolète. Depuis la version 1.13.0, Google Distributed Cloud n'accepte containerd que comme environnement d'exécution de conteneur. Le champ containerRuntime est obsolète et a été supprimé du fichier de configuration de cluster généré. Pour les versions 1.13.0 et ultérieures de Google Distributed Cloud, si le fichier de configuration de votre cluster contient ce champ, la valeur doit être containerd.

Ressource du cluster Facultatif Mutable (mise à niveau uniquement)

Cette section spécifie la configuration de densité des pods.

Ressource du cluster Facultatif Immuable

Facultatif. Entier. Spécifie le nombre maximal de pods pouvant être exécutés sur un même nœud. Pour les clusters autogérés, les valeurs autorisées pour maxPodsPerNode sont comprises entre 32 et 250 pour les clusters à haute disponibilité, et entre 64 et 250 pour les clusters non haute disponibilité. Pour les clusters d'utilisateur, les valeurs autorisées pour maxPodsPerNode sont comprises entre 32 et 250. Sans valeur spécifiée, la valeur par défaut est 110. Une fois le cluster créé, cette valeur ne peut plus être mise à jour.

Kubernetes attribue un bloc CIDR (Classless Inter-Domain Routing) à chaque nœud afin que chaque pod puisse avoir une adresse IP unique. La taille du bloc CIDR correspond au nombre maximal de pods par nœud. Pour en savoir plus sur la définition du nombre maximal de pods par nœud, consultez la page Mise en réseau de pods.

Ressource du cluster Facultatif Immuable
Preview

Cette section spécifie une configuration de registre privé au niveau du nœud pour les clusters d'utilisateur. Les registres privés au niveau du nœud sont conçus pour être utilisés avec vos charges de travail pour vous permettre de mieux contrôler les extractions d'images et leur sécurité associée.

Exemple :

spec:
  bypassPreflightCheck: false
  ...
  nodeConfig:
    containerRuntime: containerd
    podDensity:
      maxPodsPerNode: 250
    privateRegistries:
    - caCertSecretRef:
        name: ca-9dd74fd308bac6df562c7a7b220590b5
        namespace: some-namespace
      host: 10.200.0.2:5007
      pullCredentialSecretRef:
        name: pull-creds-9dd74fd308bac6df562c7a7b220590b5
        namespace: some-namespace
  ...

Pour les clusters d'administrateur, le registre privé au niveau du nœud est spécifié dans la section Identifiants du fichier de configuration du cluster d'administrateur.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Le cas échéant, utilisez cette section pour spécifier le nom et l'espace de noms du secret qui a été créé pour stocker le certificat CA (autorité de certification racine du serveur) pour le registre privé. Si votre registre local ne nécessite pas de certificat TLS privé, vous pouvez omettre ce bloc.

La prise en charge de la configuration d'un registre privé au niveau du nœud est disponible en version preview pour les clusters de la version 1.29 uniquement.

Ressource du cluster Facultatif Non immuable
Preview

Facultatif. Chaîne. Nom du secret créé pour stocker le certificat CA pour le registre privé.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Facultatif. Chaîne. Espace de noms du secret créé pour stocker le certificat CA pour le registre privé.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Chaîne. Ce champ spécifie l'hôte et le port d'un seul registre privé. Vous pouvez spécifier l'hôte avec un nom de domaine ou une adresse IP. N'incluez pas le préfixe http ou https.

Le champ host est obligatoire lorsque vous spécifiez un registre privé pour un cluster d'utilisateur.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Le cas échéant, utilisez cette section pour spécifier le nom et l'espace de noms du secret qui a été créé pour stocker les identifiants du registre privé.

Utilisez le bloc pullCredentialSecretRef lorsque vous configurez un cluster d'utilisateur pour autoriser les nœuds à accéder à un registre privé nécessitant une authentification.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Facultatif. Chaîne. Nom du secret créé pour stocker les identifiants du registre privé.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable
Preview

Facultatif. Chaîne. Espace de noms du secret créé pour stocker les identifiants du registre privé.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

La configuration d'un registre privé au niveau du nœud n'est disponible qu'en version preview pour les clusters de la version 1.29.

Ressource du cluster Facultatif Non immuable

Facultatif. Cette section contient les paramètres permettant de configurer la stratégie de mise à niveau des pools de nœuds de calcul de votre cluster. Pour en savoir plus, consultez la section Mises à niveau parallèles.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (0 ou 1). Valeur par défaut: 1 Ce champ indique s'il faut mettre à niveau simultanément tous les pools de nœuds de calcul d'un cluster. Par défaut (1), effectuez une mise à niveau séquentielle, l'une après l'autre. Lorsque vous définissez concurrentNodePools sur 0, chaque pool de nœuds de calcul du cluster est mis à niveau en parallèle.

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: cluster1
  namespace: cluster-cluster1
spec:
  ...
  nodePoolUpgradeStrategy:
    concurrentNodePools: 0
  ...

Pour en savoir plus, consultez la page Stratégie de mise à niveau du pool de nœuds.

Les nœuds de chaque pool de nœuds de calcul sont mis à niveau conformément à la stratégie de mise à niveau dans les spécifications de pool de nœuds correspondantes.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true ou false). Par défaut : false. Ce champ indique s'il faut suspendre ou reprendre une mise à niveau active du cluster.

La fonctionnalité de suspension et de reprise de la mise à niveau est en disponibilité générale pour les clusters dont tous les nœuds de plan de contrôle sont en version mineure 1.29 ou ultérieure. Pour les clusters de version 1.29, cette fonctionnalité est activée par défaut.

La fonctionnalité de suspension et de reprise de la mise à niveau est disponible en version preview pour les clusters dont tous les nœuds de plan de contrôle sont en version mineure 1.28 ou ultérieure. Pour les clusters de la version 1.28, utilisez l'annotation preview.baremetal.cluster.gke.io/upgrade-pause-and-resume pour activer la fonctionnalité.

Remplacez la valeur nodePoolUpgradeStrategy.pause par true pour suspendre une mise à niveau de cluster active:

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: cluster1
  namespace: cluster-cluster1
  annotations: preview.baremetal.cluster.gke.io/upgrade-pause-and-resume
spec:
  ...
  nodePoolUpgradeStrategy:
    pause: true
  ...

Pour en savoir plus, consultez la section Suspendre et reprendre les mises à niveau.

Ressource du cluster Facultatif Non immuable

Facultatif. Tableau d'adresses IP (IPv4). Cet élément définit le pool de nœuds pour vos nœuds de calcul.

Ressource NodePool Facultatif Non immuable

Facultatif. Chaîne (adresse IPv4). Une ou plusieurs adresses IP pour les nœuds qui constituent votre pool pour les nœuds de calcul.

Ressource NodePool Facultatif Non immuable

Définit les nœuds auxquels la configuration CIDR s'applique. Un sélecteur de nœud vide fonctionne par défaut et s'applique à tous les nœuds.

Exemple :

nodeSelector:
  matchLabels:
    baremetal.cluster.gke.io/node-pool: "workers"
         
Ressource ClusterCIDRConfig Facultatif Non immuable

Facultatif. Valeur booléenne (true | false). Indique si vous souhaitez utiliser ou non votre propre serveur de dépôt de packages, au lieu du dépôt Docker apt par défaut. Pour utiliser votre propre dépôt de packages, définissez addPackageRepo sur false. Utilisez cette fonctionnalité pour éviter d'ajouter des dépôts de packages à chaque machine Bare Metal de votre déploiement. Pour en savoir plus, consultez la page Utiliser un serveur de dépôt de packages privé.

Ressource du cluster Facultatif Immuable

Cette section contient des informations de configuration pour les vérifications d'état périodiques. Dans la ressource Cluster, le seul paramètre disponible pour les vérifications d'état périodiques est le champ enable. Pour en savoir plus, consultez la section Vérifications d'état périodiques.

Ressource du cluster Facultatif Non immuable

Facultatif. Valeur booléenne (true|false). Activez ou désactivez les vérifications d'état périodiques de votre cluster. Les vérifications d'état périodiques sont activées par défaut sur tous les clusters. Vous pouvez désactiver les vérifications d'état périodiques d'un cluster en définissant le champ periodicHealthCheck.enable sur false. Pour en savoir plus, consultez la section Désactiver les vérifications d'état périodiques.

Ressource du cluster Facultatif Non immuable
Preview

Facultatif. Utilisez cette section pour spécifier un registre privé à utiliser pour les images de charge de travail. Cette méthode de configuration du registre privé dans la section des identifiants du fichier de configuration du cluster est destinée aux clusters hybrides ou autonomes ne comportant que des pools de nœuds de calcul.

Pour en savoir plus sur la configuration de l'accès des nœuds à un registre privé, consultez la section Configurer des nœuds pour qu'ils s'authentifient auprès d'un registre privé.

Exemple :

---
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
...
privateRegistries:
  - host: 10.200.0.2:5007
    caCertPath: /root/cert.pem
    pullCredentialConfigPath: /root/dockerconfig.json
...
Identifiants Facultatif Non immuable
Preview

Facultatif. Chaîne. Chemin d'accès du fichier de certificat CA (autorité de certification racine du serveur) si votre serveur de registre utilise un certificat TLS privé. Si votre registre local ne nécessite pas de certificat TLS privé, vous pouvez omettre ce champ.

Identifiants Facultatif Non immuable
Preview

Chaîne. Ce champ spécifie l'hôte et le port d'un seul registre privé. Vous pouvez spécifier l'hôte avec un nom de domaine ou une adresse IP. N'incluez pas le préfixe http ou https.

Le champ host est obligatoire lorsque vous spécifiez un registre privé pour un cluster hybride ou autonome.

Exemple :

- host: 10.200.0.2:5007
Identifiants Facultatif Non immuable
Preview

Facultatif. Chaîne. Chemin d'accès au fichier de configuration de la CLI Docker, config.json. Docker enregistre les paramètres d'authentification dans le fichier de configuration. Ce champ ne s'applique qu'à l'utilisation de registres privés au niveau du nœud.

Utilisez le champ pullCredentialConfigPath lorsque vous configurez un cluster hybride ou autonome pour permettre aux nœuds d'accéder à un registre privé nécessitant une authentification.

Identifiants Facultatif Non immuable

Facultatif. Chaîne. Lorsque profile est défini sur edge pour un cluster autonome, cela réduit la consommation de ressources du cluster. Le profil de périphérie n'est disponible que pour les clusters autonomes. Le profil de périphérie réduit les besoins en ressources système. Il est recommandé pour les appareils de périphérie présentant des contraintes de ressources restrictives. Pour connaître les exigences matérielles associées au profil de périphérie, consultez la section Ressources nécessaires pour les clusters autonomes utilisant le profil de périphérie.

Ressource du cluster Facultatif Immuable

Si votre réseau est protégé par un serveur proxy, remplissez cette section. Sinon, supprimez cette section.

Ressource du cluster Facultatif Non immuable

Chaîne. 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 Google Distributed Cloud envoie une requête à l'un de ces hôtes, domaines ou adresses, la requête est envoyée directement.

Ressource du cluster Facultatif Immuable

Chaîne. 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"
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
  
Ressource du cluster Facultatif Non immuable

Facultatif. Utilisez cette section pour spécifier un miroir de registre à utiliser pour installer des clusters, au lieu de Container Registry (gcr.io). Pour en savoir plus sur l'utilisation d'un miroir de registre, consultez la page Installer Google Distributed Cloudà l'aide d'un miroir de registre.

Exemple :

registryMirrors:
  - endpoint: https://172.18.0.20:5000
    caCertPath: /root/ca.crt
    pullCredentialConfigPath: /root/.docker/config.json
    hosts:
      - somehost.io
      - otherhost.io
Miroir de registre Facultatif Non immuable

Facultatif. Chaîne. Chemin d'accès du fichier de certificat CA (autorité de certification racine du serveur) si votre serveur de registre utilise un certificat TLS privé. Si votre registre local ne nécessite pas de certificat TLS privé, vous pouvez omettre ce champ.

Miroir de registre Facultatif Non immuable

Chaîne. Point de terminaison du miroir, composé de l'adresse IP et du numéro de port du serveur de registre. Vous pouvez éventuellement utiliser votre propre espace de noms sur votre serveur de registre au lieu de l'espace de noms racine. Sans espace de noms, le format du point de terminaison est REGISTRY_IP:PORT. Lorsque vous utilisez un espace de noms, le format du point de terminaison est REGISTRY_IP:PORT/v2/NAMESPACE. Le paramètre /v2 est requis lorsque vous spécifiez un espace de noms.

Le champ endpoint est obligatoire lorsque vous spécifiez un miroir de registre. Vous pouvez spécifier plusieurs miroirs/points de terminaison.

Exemple :

- endpoint: https://172.18.0.20:5000/v2/test-namespace
Miroir de registre Facultatif Non immuable

Facultatif. Tableau des noms de domaine des hôtes mis en miroir en local pour le miroir de registre donné (endpoint). Lorsque l'environnement d'exécution de conteneur reçoit des requêtes d'extraction d'images d'un hôte spécifié, il vérifie d'abord le miroir de registre local. Pour plus d'informations, consultez la page Créer des clusters à partir du miroir de registre.

Exemple :

registryMirrors:
  - endpoint: https://172.18.0.20:5000
    caCertPath: /root/ca.crt
    pullCredentialConfigPath: /root/.docker/config.json
    hosts:
    - somehost.io
    - otherhost.io
         
Miroir de registre Facultatif Non immuable

Facultatif. Chaîne. Chemin d'accès au fichier de configuration de la CLI Docker, config.json. Docker enregistre les paramètres d'authentification dans le fichier de configuration. Ce champ ne s'applique qu'aux miroirs de registres. Si votre serveur de registre ne nécessite pas de fichier de configuration Docker pour l'authentification, vous pouvez omettre ce champ.

Exemple :

registryMirrors:
  - endpoint: https://172.18.0.20:5000
    caCertPath: /root/ca.crt
    pullCredentialConfigPath: /root/.docker/config.json
        
Miroir de registre Facultatif Non immuable

Chaîne. Chemin d'accès à la clé privée SSH. SSH est requis pour l'accès aux nœuds.

Identifiants Facultatif Non immuable

Cette section contient les paramètres de stockage du cluster.

Ressource du cluster Obligatoire Immuable

Cette section spécifie la configuration (chemin d'accès) des volumes persistants locaux reposant sur des disques installés. Vous devez formater et installer ces disques vous-même. Vous pouvez effectuer cette tâche avant ou après la création du cluster. Pour plus d'informations, consultez la section Installations de nœuds LVP.

Ressource du cluster Obligatoire Immuable

Obligatoire. Chaîne. Utilisez le champ path pour spécifier le chemin d'accès de la machine hôte dans laquelle les disques installés peuvent être détectés. Un volume persistant (PersistentVolume ou PV) local est créé pour chaque installation. Le chemin par défaut est /mnt/localpv-share. Pour obtenir des instructions sur la configuration de vos installations de nœuds, consultez la section Configurer des installations de nœuds LVP.

Ressource du cluster Obligatoire Immuable

Cette section spécifie la configuration des volumes persistants locaux reposant sur des sous-répertoires d'un système de fichiers partagé. Ces sous-répertoires sont générés automatiquement lors de la création du cluster. Pour en savoir plus, consultez la section Partage LVP.

Ressource du cluster Obligatoire Immuable

Obligatoire. Chaîne. Spécifiez le nombre de sous-répertoires à créer sous lvpShare.path. La valeur par défaut est 5. Pour obtenir des instructions sur la configuration de votre partage LVP, consultez la page Configurer un partage LVP.

Ressource du cluster Obligatoire Immuable

Obligatoire. Chaîne. Utilisez le champ path pour spécifier le chemin d'accès à la machine hôte dans laquelle les sous-répertoires peuvent être créés. Un volume persistant (PersistentVolume ou PV) local est créé pour chaque sous-répertoire. Pour obtenir des instructions sur la configuration de votre partage LVP, consultez la page Configurer un partage LVP.

Ressource du cluster Obligatoire Immuable

Obligatoire. Chaîne. Spécifiez la classe de stockage StorageClass à utiliser pour créer des volumes persistants. La StorageClass est créée lors de la création du cluster. La valeur par défaut est local-shared. Pour obtenir des instructions sur la configuration de votre partage LVP, consultez la page Configurer un partage LVP.

Ressource du cluster Facultatif Immuable

Facultatif. Objets. Un rejet de nœud vous permet de marquer un nœud afin que le programmeur l'ignore ou empêche son utilisation pour certains pods. Un rejet est constitué d'une paire clé/valeur et d'un effet associé. Les valeurs key et value sont des chaînes permettant d'identifier le rejet, et la valeur effect spécifie la manière dont les pods sont gérés pour le nœud. L'objet taints peut avoir plusieurs rejets.

Le champ effect peut prendre l'une des valeurs suivantes :

  • NoSchedule : aucun pod ne peut planifier sur le nœud, sauf s'il présente une tolérance correspondante.
  • PreferNoSchedule : le système évite de placer un pod qui ne tolère pas le rejet sur le nœud, mais ce n'est pas obligatoire.
  • NoExecute : les pods qui ne tolèrent pas le rejet sont expulsés immédiatement, et ceux qui le tolèrent ne sont jamais expulsés.

Pour Google Distributed Cloud, les rejets sont rapprochés des nœuds du pool de nœuds, sauf si l'annotation baremetal.cluster.gke.io/label-taint-no-sync est appliquée au cluster. Pour plus d'informations sur les rejets, consultez la section Rejets et tolérances.

Exemple :

  taints:
  - key: status
    value: testpool
    effect: NoSchedule
  
Ressource NodePool Facultatif Non immuable

Obligatoire. Chaîne. Spécifie le type de cluster. Le modèle de déploiement standard se compose d'un seul cluster d'administrateur et d'un ou plusieurs clusters d'utilisateur, qui sont gérés par le cluster d'administrateur. Google Distributed Cloud est compatible avec les types de clusters suivants:

  • Administrateur : cluster permettant de gérer les clusters d'utilisateur.
  • Utilisateur : cluster utilisé pour exécuter des charges de travail.
  • Hybride : cluster unique pour les administrateurs et les charges de travail, qui peut également gérer des clusters d'utilisateur
  • Autonome : cluster unique qui peut s'administrer de manière autonome et peut également exécuter des charges de travail, mais qui ne peut ni créer, ni gérer d'autres clusters d'utilisateurs.

Le type de cluster est spécifié lors de la création du cluster et ne peut pas être modifié lors des mises à jour ou des mises à niveau. Pour en savoir plus sur la création de clusters, consultez la section Création de clusters : présentation.

Valeurs autorisées : admin | user | hybrid | standalone

Cette valeur ne peut pas être modifiée pour les clusters existants.

Ressource du cluster Obligatoire Immuable

Facultatif. Cette section contient les paramètres permettant de configurer la stratégie de mise à niveau des nœuds d'un pool de nœuds de calcul. Pour en savoir plus, consultez la section Mises à niveau parallèles. Remarque: N'ajoutez pas cette section pour les pools de nœuds du plan de contrôle ou de l'équilibreur de charge.

Ressource NodePool Facultatif Non immuable

Facultatif. Cette section contient les paramètres permettant de configurer les mises à niveau parallèles des nœuds pour un pool de nœuds de calcul. Dans une mise à niveau classique d'un cluster par défaut, chaque nœud de cluster est mis à niveau de manière séquentielle, l'un après l'autre. Vous pouvez configurer des pools de nœuds de calcul afin que plusieurs nœuds soient mis à niveau en parallèle lorsque vous mettez à niveau votre cluster. La mise à niveau des nœuds en parallèle accélère considérablement la mise à niveau des clusters, en particulier pour les clusters qui comptent des centaines de nœuds.

Pour un pool de nœuds de calcul, vous pouvez spécifier le nombre de nœuds à mettre à niveau simultanément et définir un seuil minimal pour le nombre de nœuds capables d'exécuter des charges de travail tout au long du processus.

Pour en savoir plus, consultez la section Stratégie de mise à niveau de nœuds.

apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
  name: np1
  namespace: cluster-cluster1
spec:
  clusterName: cluster1
  nodes:
  - address:  10.200.0.1
  ...
  upgradeStrategy:
    parallelUpgrade:
      concurrentNodes: 2
      minimumAvailableNodes: 5
        
Ressource NodePool Facultatif Non immuable

Facultatif. Entier (positif) Valeur par défaut : 1 Max: 15. Par défaut (1), les nœuds sont mis à niveau de manière séquentielle, les uns après les autres. Lorsque vous définissez concurrentNodes sur un nombre supérieur à 1, ce champ spécifie le nombre de nœuds à mettre à niveau en parallèle. Notez les contraintes suivantes pour concurrentNodes:

  • La valeur ne peut pas dépasser la valeur la plus faible entre 50 % du nombre de nœuds du pool de nœuds ou le nombre fixe 15. Par exemple, si votre pool de nœuds comporte 20 nœuds, vous ne pouvez pas spécifier de valeur supérieure à 10. Si votre pool de nœuds compte 100 nœuds, 15 est la valeur maximale que vous pouvez spécifier.
  • Lorsque vous utilisez ce champ avec le champ minimumAvailableNodes, leurs valeurs combinées ne peuvent pas dépasser le nombre total de nœuds du pool de nœuds. Par exemple, si votre pool de nœuds compte 20 nœuds et que minimumAvailableNodes est défini sur 18, concurrentNodes ne peut pas dépasser 2.

Les mises à niveau parallèles ne respectent pas le budget d'interruption de pods. Si vos charges de travail sont sensibles aux perturbations, nous vous recommandons de spécifier minimumAvailableNodes pour vous assurer qu'une certaine quantité de nœuds reste disponible pour exécuter des charges de travail tout au long du processus de mise à niveau. Pour en savoir plus, consultez la section Mises à niveau parallèles.

Ressource NodePool Facultatif Non immuable

Facultatif. Entier (non négatif) Par défaut : dépend de concurrentNodes. Pour en savoir plus sur les valeurs par défaut de minimumAvailableNodes, consultez la section Valeurs par défaut de la mise à niveau parallèle. minimumAvailableNodes vous permet de spécifier la quantité de nœuds du pool de nœuds qui doit rester disponible tout au long du processus de mise à niveau. Un nœud est considéré comme indisponible lorsqu'il est en cours de mise à niveau. Un nœud est également considéré comme indisponible dans le cas où l'une des conditions suivantes est remplie:

  • Le nœud est en mode maintenance
  • Le nœend est en cours de rapprochement
  • Le nœud est bloqué en cours de mise à niveau

Lorsque vous utilisez ce champ avec le champ concurrentNodes, leurs valeurs combinées ne peuvent pas dépasser le nombre total de nœuds du pool de nœuds. Par exemple, si votre pool de nœuds comporte 20 nœuds et que concurrentNodes est défini sur 10, minimumAvailableNodes ne peut pas dépasser 10.

Une valeur élevée pour minimumAvailableNodes réduit les problèmes de capacité pour la planification des pods et, par conséquent, protège les charges de travail lors de la mise à niveau d'un cluster. Toutefois, une valeur élevée pour minimumAvailableNodes augmente le risque de blocage d'une mise à niveau en attendant que les nœuds soient disponibles. Pour en savoir plus, consultez la section Mises à niveau parallèles.

Ressource NodePool Facultatif Non immuable