À propos d'Hyperdisk pour GKE

Google Cloud Hyperdisk est une option de stockage de blocs réseau proposée sur GKE. Vous pouvez utiliser cette option de stockage dans vos clusters GKE de la même manière que d'autres volumes de disque persistant Compute Engine, avec une flexibilité supplémentaire pour ajuster les performances de votre charge de travail. Par rapport au stockage sur disque persistant, Hyperdisk fournit un nombre maximal d'opérations d'entrée/sortie par seconde (IOPS) et un débit beaucoup plus élevés. Contrairement aux volumes de disque persistant où les performances sont partagées entre tous les volumes associés à un nœud, vous pouvez spécifier et ajuster le niveau de performances de chaque volume Hyperdisk.

Vous pouvez choisir l'une des options Hyperdisk suivantes sur GKE :

Option de stockage Mode de fonctionnement de GKE Description
Volume Hyperdisk équilibré Autopilot
Standard

La solution la mieux adaptée à la plupart des charges de travail. Il s'agit d'une bonne option pour déployer la plupart des applications d'entreprise et des applications métier, ainsi que des bases de données et des serveurs Web.

Hyperdisk Throughput Autopilot
Standard

Optimisé pour un débit élevé et économique. Il s'agit d'une bonne option si votre cas d'utilisation cible des analyses à scaling horizontal (par exemple, Hadoop ou Kafka) et des charges de travail sensibles aux coûts.

Hyperdisk Extreme Autopilot
Standard

Optimisé pour les performances des IOPS. Il s'agit d'une bonne option si vous déployez des charges de travail hautes performances, telles que des systèmes de gestion de base de données.

Hyperdisk ML Autopilot
Standard

Optimisé pour les charges de travail d'entraînement et d'inférence AI/ML qui doivent charger rapidement des pondérations de modèle. Utilisez cette option pour les charges de travail d'IA/de ML qui nécessitent un débit de lecture maximal élevé. Il s'agit de la meilleure option pour réduire l'inactivité des ressources GPU/TPU lors du chargement des données.

Hyperdisk Balanced High Availability Autopilot
Standard

Niveau de performances similaire à celui d'Hyperdisk Balanced, qui permet de réduire les coûts grâce à la réplication synchrone sur deux zones d'une région. Utilisez cette option pour créer des charges de travail nécessitant une haute disponibilité ou pour les charges de travail nécessitant que plusieurs nœuds d'une région écrivent simultanément sur le même disque.

Avantages

  • Hyperdisk vous offre des performances plus prévisibles sur les charges de travail avec état que vous déployez.
  • Hyperdisk permet le provisionnement, la gestion et le scaling de vos charges de travail avec état sur GKE sans avoir à supporter le coût et la complexité de gestion d'un réseau de stockage (SAN) sur site classique.
  • La capacité de stockage Hyperdisk est partitionnée et mise à la disposition des nœuds GKE en tant que volumes individuels. Les volumes Hyperdisk sont découplés des nœuds, ce qui vous permet d'associer, de dissocier et de déplacer des volumes entre des nœuds. Les données stockées dans des volumes Hyperdisk persistent lors des redémarrages et des suppressions de nœuds. Vous pouvez également ajouter plusieurs volumes Hyperdisk à un même nœud GKE.

Tarifs

La capacité totale provisionnée de vos volumes Hyperdisk vous est facturée jusqu'à ce que vous les supprimiez. Vous êtes facturé par Gio et par mois. De plus, les éléments suivants vous sont facturés :

  • Hyperdisk Balanced facture un tarif mensuel pour les IOPS et le débit provisionnés (en Mio/s) au-delà des valeurs de référence de 3 000 IOPS et 140 Mio/s de débit.
  • Hyperdisk Extreme facture un tarif mensuel en fonction des IOPS provisionnées.
  • Hyperdisk Throughput facture un tarif mensuel en fonction du débit provisionné (en Mio/s).

Pour en savoir plus sur les tarifs, consultez la section Tarifs des disques dans la documentation Compute Engine.

Limites

  • Après avoir créé des volumes, vous ne pouvez modifier les paramètres suivants qu'à travers l'API Compute Engine :
    • Débit : volumes Hyperdisk Throughput et Hyperdisk avec équilibrage
    • IOPS : volumes Hyperdisk Extreme et Hyperdisk Balanced
  • Vous ne pouvez associer des volumes Hyperdisk qu'à des types d'instances spécifiques. Les rattachements en lecture seule ne sont pas pris en charge.
  • Limites spécifiques à Hyperdisk ML :
    • Le ML Hyperdisk ne peut pas être utilisé comme disque de démarrage.
    • Hyperdisk ML ne peut pas être utilisé en mode écriture simultanée.
    • Hyperdisk ML n'est pas compatible avec les pools de stockage.
  • Limites spécifiques à Hyperdisk Balanced HA :
    • Hyperdisk Balanced à haute disponibilité ne peut pas être utilisé en mode ReadOnlyMany Kubernetes.
    • Hyperdisk Balanced HA ne prend pas en charge les instantanés si le volume est en mode d'accès ReadWriteMany.
    • Consultez également la section Limites de la documentation Compute Engine sur les disques régionaux.
  • Pour en savoir plus, consultez la section Restrictions et limitations dans la documentation Compute Engine.

Planification de nœuds compatible

Vous pouvez planifier automatiquement des charges de travail basées sur Hyperdisk sur des nœuds compatibles avec une classe StorageClass personnalisée. Pour activer ce comportement, créez votre StorageClass avec le paramètre use-allowed-disk-topology: "true". Pour utiliser cette fonctionnalité, le cluster et les pools de nœuds doivent être en version 1.34.1-gke.2541000 ou ultérieure. Les volumes provisionnés avec cette StorageClass ne seront pas planifiés sur des pools de nœuds de versions antérieures.

Voici un exemple de StorageClass pour laquelle la fonctionnalité est activée.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: hyperdisk-balanced-compatible-scheduling
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
  type: hyperdisk-balanced
  use-allowed-disk-topology: "true"

Sélection automatique du type de disque

Dans la version 1.35.3-gke.1290000 ou ultérieure, vous pouvez spécifier vos types de disques préférés pour Hyperdisk et Persistent Disk dans une StorageClass. GKE sélectionne automatiquement un type de disque pour vos charges de travail en fonction du type de machine du nœud. Cette approche vous permet de créer une seule StorageClass compatible avec plusieurs générations de VM, ce qui est nécessaire lorsque vous utilisez des ComputeClasses personnalisées pour le remplacement de capacité multisérie. Étant donné que les séries de machines plus récentes telles que C4, C4D et N4 ne sont compatibles qu'avec Hyperdisk, et que les séries plus anciennes telles que N2 et N2D sont compatibles avec Persistent Disk, une StorageClass associée à un seul type de disque peut empêcher les pods avec état de basculer entre les générations de machines lors d'une pénurie de ressources zonales. La sélection automatisée du type de disque vous permet de provisionner des séries de machines compatibles avec Hyperdisk, comme C4, C3 et N4, tout en utilisant Persistent Disk sur des séries de machines comme N2D ou C2.

Pour activer la sélection automatique des disques, définissez le champ parameters.type d'une StorageClass sur la valeur dynamic. Vous pouvez spécifier les types de disques de votre choix à l'aide des paramètres suivants :

Paramètres de type de disque dynamique
hyperdisk-type Type d'Hyperdisk à utiliser sur les nœuds compatibles avec Hyperdisk. Si vous omettez ce paramètre, la valeur par défaut est hyperdisk-balanced.
pd-type Type de disque persistant à utiliser sur les nœuds compatibles avec les disques persistants. Si vous omettez ce paramètre, la valeur par défaut est pd-balanced.
disk-type-preference

Type de stockage à utiliser sur les nœuds compatibles avec Hyperdisk et Persistent Disk. Spécifiez une des valeurs suivantes :

  • hyperdisk-type : utilisez Hyperdisk. Si vous omettez le paramètre disk-type-preference, il s'agit de la valeur par défaut.
  • pd-type : utilisez Persistent Disk au lieu d'Hyperdisk.

Vous pouvez utiliser n'importe quel autre paramètre de stockage de blocs pour Hyperdisk et Persistent Disk dans la StorageClass. Lorsque GKE crée un volume qui utilise un type de disque spécifique, il n'applique que les paramètres correspondant à ce type.

La ressource StorageClass suivante montre comment configurer la sélection dynamique du type de disque qui donne la priorité à hyperdisk-balanced pour les nœuds compatibles et utilise automatiquement pd-balanced pour les autres.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: dynamic-volume
provisioner: pd.csi.storage.gke.io
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
  type: dynamic
  pd-type: pd-balanced
  hyperdisk-type: hyperdisk-balanced
  use-allowed-disk-topology: "true"
  # The parameters below only apply to the hyperdisk-type and are ignored if
  # the pd-type is selected.
  provisioned-throughput-on-create: "250Mi"
  provisioned-iops-on-create: "3000"

Hyperdisque et classes de calcul Autopilot

Si vous souhaitez utiliser l'hyperdisque sur des clusters Autopilot qui utilisent des classes de calcul, assurez-vous que le type de machine de votre nœud est à la fois compatible avec Hyperdisk et compatible avec la classe de calcul.

L'exemple suivant montre comment spécifier la propriété nodeSelector pour contrôler la planification des pods sur les clusters Autopilot avec la classe de calcul Performance, lorsque vous utilisez Hyperdisk Balanced.

cloud.google.com/compute-class: "Performance"
cloud.google.com/machine-family: "c3"

Pour en savoir plus, consultez Choisir des classes de calcul pour les pods Autopilot.

Planifier le niveau de performances de vos volumes Hyperdisk

Tenez compte des considérations suivantes pour planifier le niveau de performances approprié pour vos volumes Hyperdisk.

Volume Hyperdisk équilibré

Hyperdisk Balanced vous permet de provisionner la capacité indépendamment du débit et des IOPS. Pour provisionner le débit ou les IOPS, sélectionnez le niveau pour un volume donné. Les volumes individuels sont totalement isolés du point de vue du débit : chaque volume peut utiliser l'intégralité du débit ou de la capacité d'IOPS spécifiée pour ce volume. Toutefois, en fin de compte, le débit ou les IOPS sont limités par les limites par instance applicables à l'instance de VM à laquelle vos volumes sont associés. Pour en savoir plus sur ces limites, consultez la section Performances provisionnées pour Hyperdisk Balanced dans la documentation de Compute Engine.

Les opérations de lecture et d'écriture sont toutes prises en compte dans la limite de débit et d'IOPS provisionnée pour un volume Hyperdisk Balanced. Le débit ou les IOPS provisionnés et les limites maximales s'appliquent à la somme des opérations de lecture et d'écriture.

Si le débit total ou les IOPS provisionnés pour un ou plusieurs volumes Hyperdisk dépassent le débit total ou les IOPS disponibles au niveau de l'instance de VM, les performances sont limitées au niveau de performances de l'instance.

Hyperdisk Throughput

L'option Hyperdisk Throughput vous permet de provisionner la capacité indépendamment du débit. Pour provisionner le débit, sélectionnez le niveau pour un volume donné. Les volumes individuels sont totalement isolés du point de vue du débit : chacun d'eux obtient le débit qui est provisionné pour lui. Toutefois, en fin de compte, le débit est plafonné par les limites par instance applicables à l'instance de VM à laquelle vos volumes sont associés. Pour en savoir plus sur ces limites, consultez À propos des performances provisionnées dans la documentation Compute Engine. Les opérations de lecture et d'écriture sont toutes prises en compte dans la limite de débit provisionnée pour un volume Hyperdisk Throughput. Le débit provisionné et les limites maximales s'appliquent à la somme du débit en lecture et en écriture.

Pour la définition d'une StorageClass, le débit provisionné pour les volumes Hyperdisk Throughput doit respecter les règles suivantes :

  • Au minimum 10 Mio/s par Tio de capacité, et pas plus de 90 Mio/s par Tio de capacité, selon le type de machine.
  • Jusqu'à 600 Mio/s par volume, en fonction du type de machine.

Si le débit total provisionné pour un ou plusieurs volumes Hyperdisk Throughput dépasse le débit total disponible au niveau de l'instance de VM, le débit est limité au niveau de débit de l'instance.

Hyperdisk Extreme

L'option Hyperdisk Extreme vous permet de provisionner la capacité séparément du niveau d'IOPS. Pour provisionner le niveau d'IOPS, vous devez spécifier la limite d'IOPS pour un volume donné. Les volumes individuels sont totalement isolés du point de vue des IOPS : chacun d'eux obtient le niveau d'IOPS qui est provisionné pour lui. Toutefois, en fin de compte, les IOPS sont plafonnées par les limites par instance applicables à l'instance de VM à laquelle vos volumes sont associés. Pour en savoir plus sur ces limites, consultez À propos des performances provisionnées dans la documentation Compute Engine.

Les opérations de lecture et d'écriture sont toutes prises en compte dans la limite d'IOPS provisionnée pour un volume Hyperdisk Extreme. Les IOPS provisionnées et les limites maximales répertoriées dans ce document s'appliquent au total des IOPS en lecture et en écriture.

Lors de la définition d'une StorageClass, les IOPS provisionnées pour les volumes Hyperdisk Extreme ne doivent pas dépasser 350 000 IOPS, selon le type de machine.

Si le nombre total d'IOPS provisionnées pour un ou plusieurs volumes Hyperdisk Extreme dépasse le nombre total d'IOPS disponibles au niveau de l'instance de VM, les performances sont limitées au niveau des IOPS de l'instance. Si plusieurs volumes Hyperdisk et de disque persistant associés à la même VM demandent des IOPS en même temps, et que les limites de la VM sont atteintes, chaque volume obtient un niveau d'IOPS proportionnel à sa part dans le nombre total d'IOPS provisionné pour tous les volumes Hyperdisk Extreme associés.

Hyperdisk ML

Hyperdisk ML vous permet de provisionner la capacité indépendamment des performances. Pour provisionner les performances, sélectionnez le niveau de débit souhaité pour un volume donné. Les volumes individuels offrent une isolation complète des performances : chaque volume reçoit les performances qui lui sont provisionnées.

Lorsqu'un volume est associé à plusieurs instances, le débit provisionné est réparti de manière dynamique entre les instances. Toutefois, en fin de compte, le débit est plafonné par les limites par instance applicables à l'instance de VM à laquelle vos volumes sont associés.

Les opérations de lecture et d'écriture sont toutes prises en compte dans les limites de débit provisionnées pour un volume Hyperdisk ML en mode READ-WRITE-SINGLE. Le débit provisionné et les limites maximales s'appliquent à la somme du débit en lecture et en écriture.

Le débit provisionné pour les volumes Hyperdisk ML doit respecter les règles suivantes :

  • Minimum : valeur la plus élevée entre (0,12 Mbit/s x taille du disque) en Gio ou 400 Mbit/s.
  • Maximum : (1 600 Mbit/s x taille du disque) en Gio, mais pas plus de 1,2 Tbit/s
  • Si le volume est associé à plus de 20 instances en mode READ-ONLY-MANY, la valeur de débit doit être d'au moins 100 Mo/s * nombre d'instances associées.

Si le débit total provisionné pour un ou plusieurs volumes Hyperdisk ML dépasse le débit total disponible au niveau de l'instance, les performances seront limitées aux performances au niveau de l'instance.

Hyperdisk Balanced HA

Hyperdisk Balanced High Availability vous permet de provisionner la capacité indépendamment du débit et des IOPS. Pour provisionner le débit ou les IOPS, sélectionnez le niveau de débit et d'IOPS pour un volume donné. Les volumes individuels sont totalement isolés du point de vue du débit : chaque volume peut utiliser l'intégralité du débit ou de la capacité d'IOPS spécifiée pour ce volume. Toutefois, en fin de compte, le débit ou les IOPS sont limités par les limites par instance applicables à l'instance de VM à laquelle vos volumes sont associés. Pour en savoir plus sur ces limites, consultez la section À propos de Cloud de Confiance Hyperdisk dans la documentation de Compute Engine.

Les opérations de lecture et d'écriture sont toutes prises en compte dans la limite de débit et d'IOPS provisionnée pour un volume Hyperdisk Balanced High Availability. Le débit provisionné ou les IOPS et les limites maximales s'appliquent à la somme des opérations de lecture et d'écriture.

Si le débit total ou les IOPS provisionnés pour un ou plusieurs volumes Hyperdisk dépassent le débit total ou les IOPS disponibles au niveau de l'instance de VM, les performances sont limitées aux performances au niveau de l'instance.

Étapes suivantes