Vous consultez la documentation d'une version précédente de GKE On-Prem. Consulter 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 livré avec un certain nombre de plugins 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 système de stockage sans avoir à passer par celui de vSphere.

Bien que le système de stockage vSphere fournisse automatiquement la gestion dynamique des volumes dans un datastore adossé à tout périphérique de stockage iSCSI, FC ou NFS, de nombreux plug-ins ne prennent pas en charge la gestion dynamique. Vous devez créer manuellement les PersistentVolumes.

Le tableau suivant présente plusieurs plug-ins de volume "in-tree" :

Plug-in de volume "in-tree"DescriptionModes 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
PortworxSystème de stockage propriétaire défini par logicielPods multiples en lecture/écritureOui
QuobyteSystème de stockage propriétaire défini par logicielPod unique en lecture/écritureOui
StorageOSSystème de stockage propriétaire défini par logicielPod 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 est fourni avec Kubernetes 1.13+ et est compatible avec CSI v1.0. Pour utiliser CSI dans votre cluster, vous devez déployer le pilote CSI fourni par votre fournisseur de stockage. Vous pouvez ensuite configurer des charges de travail pour utiliser la StorageClass du pilote ou la définir comme StorageClass par défaut.

Dépannage

Consultez la section Dépannage du système de stockage.