Vous consultez la documentation d'une version précédente de GKE On-Prem. Consultez la documentation la plus récente.

Storage

GKE On-Prem s'intègre à des systèmes de stockage de fichiers ou de blocs externes via le système de stockage VMware vSphere, les plug-ins de volumes "in-tree" internes Kubernetes et les pilotes CSI (Container Storage Interface).

Stockage vSphere

Par défaut, les clusters d'administrateur et d'utilisateur GKE On-Prem utilisent le système de stockage vSphere. Le cluster d'administrateur nécessite un datastore VMware pré-provisionné pour ses données etcd.

GKE On-Prem utilise le plug-in de volume vSphere Kubernetes pour provisionner dynamiquement un nouveau disque de machine virtuelle VMDK dans le même datastore VMware utilisé par le cluster d'administrateur. Ce VMDK contient les données etcd du cluster d'utilisateur.

La classe StorageClass par défaut d'un cluster d'utilisateur pointe vers un datastore VMware. Par défaut, les PersistentVolumes de Kubernetes provisionnés pour le cluster d'utilisateur sont des VMDK qui stockent des données. Ce datastore n'est pas nécessairement le même que celui utilisé par le cluster d'administrateur.

Les datastores VMware utilisés par les clusters d'administrateur et d'utilisateur peuvent être renforcés par NFS, vSAN ou VMFS sur un périphérique de bloc, tel qu'une baie de stockage externe. Dans un environnement multi-hôte, chaque périphérique de bloc doit être associé à tous les hôtes de l'environnement. Le datastore doit être configuré sur chaque hôte via la méthode Installer Datastore sur des hôtes supplémentaires.

Dans GKE On-Prem, les StatefulSets utilisent des PersistentVolumeClaims sauvegardés par StorageClasses qui pointent vers le système de stockage vSphere.

Plug-ins de volumes "in-tree" Kubernetes

Kubernetes est fourni avec un certain nombre de plug-ins de volume in-tree. Vous avez la possibilité d'utiliser l'une de ces options pour fournir un stockage de blocs ou de fichiers pour vos charges de travail avec état. Les plug-ins in-tree permettent aux charges de travail de se connecter directement au stockage sans avoir à passer par le stockage vSphere.

Alors que le stockage vSphere offre automatiquement un provisionnement dynamique des volumes dans un Datastore sauvegardé par n'importe quel appareil de stockage iSCSI, FC ou NFS, la plupart des plug-ins de volume "in-tree" ne sont pas compatibles avec le provisionnement dynamique. Vous devez créer manuellement des PersistentVolumes.

Le tableau suivant décrit plusieurs plug-ins de volume "in-tree" :

Plug-in de volume in-treeDescriptionModes d'accès compatiblesProvisionnement dynamique
Fibre ChannelPlug-in de stockage génériquePod unique en lecture/écritureNo
iSCSIPlug-in de stockage génériquePod unique en lecture/écritureNo
NFSPlug-in de stockage génériquePods multiples en lecture/écritureNo
Ceph RBDSystème de stockage défini par logiciel Open SourcePod unique en lecture/écritureOui
CephFSSystème de stockage défini par logiciel Open SourcePods multiples en lecture/écritureNo
PortworxStockage défini par logiciel propriétairePods multiples en lecture/écritureOui
QuobyteStockage défini par logiciel propriétairePod unique en lecture/écritureOui
StorageOSStockage défini par logiciel propriétairePod unique en lecture/écritureOui

Interface de stockage en conteneurs

Container Storage Interface (CSI) est une API standard qui permet à Kubernetes d'exposer des systèmes de stockage arbitraires à des charges de travail en conteneurs. Lorsque vous déployez un pilote de volume compatible avec CSI sur un cluster Kubernetes, les charges de travail peuvent se connecter directement au système de stockage sans passer par celui de vSphere.

GKE On-Prem avec Kubernetes 1.12+ qui prend en charge la version 0.3 de CSI. Certains pilotes de stockage sont compatibles avec cette ancienne version de CSI, et vous pouvez les utiliser afin de fournir un stockage de blocs ou de fichiers pour vos charges de travail avec état.

Projets futurs

Dans une prochaine version, GKE On-Prem sera livré avec Kubernetes 1.13+, et vous pourrez déployer des pilotes CSI v1.0. Cela permettra une intégration directe avec encore plus de systèmes de stockage tiers. Nous vous fournirons une liste de partenaires de stockage recommandés par Google et validés pour fonctionner correctement avec GKE On-Prem.

Nous travaillons sur le développement d'interfaces de gestion de données avancées qui autoriseront des cas d'utilisation d'entreprises tels que des instantanés, des sauvegardes et des restaurations d'application. Continuez de suivre nos actualités pour en savoir plus à ce sujet.