Présentation du stockage Red Hat OpenShift on IBM Cloud

Cloud privé virtuel Infrastructure classique Satellite

Passez en revue les sections suivantes pour obtenir une présentation des options de stockage disponibles pour votre cluster.

Avant de pouvoir déterminer quel type de stockage constitue la solution la plus adaptée à vos clusters Red Hat® OpenShift® on IBM Cloud®, vous devez bien comprendre le fournisseur d’infrastructure IBM Cloud, les exigences de votre application, le type de données que vous souhaitez stocker et la fréquence à laquelle vous souhaitez accéder à ces données.

Décidez si vos données doivent être stockées de manière permanente.

Stockage persistant: Les données stockées sur le stockage persistant sont conservées même lorsque le conteneur, le noeud worker ou le cluster est supprimé. Utilisez le stockage persistant pour les applications avec état, les données métier essentielles ou les données qui doivent rester disponibles en raison d'exigences légales, telles qu'une durée de conservation définie. Le stockage persistant est également une bonne option pour l'audit.

Stockage non persistant : vos données peuvent être retirées en cas de retrait du conteneur, du noeud worker ou du cluster. Ce type de stockage est utilisé en principe pour les informations de journalisation, telles que les journaux système ou les journaux de conteneur, les tests de développement ou lorsque vous souhaitez accéder aux données à partir du système de fichiers de l'hôte.

Si vous devez conserver vos données, déterminez si votre application nécessite un type de stockage particulier. Lorsque vous utilisez une application existante, celle-ci peut être conçue pour stocker des données selon l'une des méthodes suivantes.

Dans un système de fichiers : les données peuvent être stockées sous forme de fichier dans un répertoire. Par exemple, vous pouvez stocker ce fichier sur votre disque dur local. Certaines applications nécessitent que les données soient stockées dans un système de fichiers spécifique, tel que nfs ou ext4 afin d'optimiser le magasin de données et d'atteindre les objectifs en termes de performances.

Dans une base de données : les données doivent être stockées dans une base de données selon un schéma précis. Certaines applications sont fournies avec une interface de base de données que vous pouvez utiliser pour stocker vos données. Par exemple, WordPress est optimisé pour stocker des données dans une base de données MySQL. Dans ces cas de figure, le type de stockage est sélectionné pour vous.

Déterminez le type de données que vous souhaitez stocker.

Données structurées : données que vous pouvez stocker dans une base de données relationnelle lorsque vous disposez d'une table avec des lignes et des colonnes. Les données dans les tables peuvent être connectées à l'aide de clés et sont en général faciles d'accès en raison d'un modèle de données prédéfini. Exemples : numéros de téléphone, numéros de sécurité sociale ou codes postaux.

Données semi-structurées : données qui n'entrent pas dans le cadre d'une base de données relationnelle mais qui contiennent des propriétés organisationnelles que vous pouvez utiliser pour lire et analyser ces données plus facilement. Exemples : fichiers de langage de balisage, de type CSV, XML ou JSON.

Données non structurées : Données qui ne suivent pas un modèle organisationnel et qui sont si complexes que vous ne pouvez pas les stocker dans une base de données relationnelle avec des modèles de données prédéfinis. Pour accéder à ces données, il vous faut des logiciels et des outils avancés. On peut citer, par exemple, les e-mails, les vidéos, les photos, les fichiers audio, les présentations, les données issues des réseaux sociaux ou les pages Web.

Si vous disposez de données structurées et non structurées, essayez de stocker chacun de ces types de données séparément dans une solution de stockage conçue pour chaque type particulier. L'utilisation d'une solution de stockage adaptée à votre type de données facilite l'accès à vos données tout en vous offrant des avantages en termes de performances, d'évolutivité, de durabilité et de cohérence.

Analysez le mode d'accès à vos données de votre choix. Les solutions de stockage sont en principe conçues et optimisées pour prendre en charge les opérations de lecture ou d'écriture.
Lecture seule : Vous ne souhaitez pas écrire ou modifier vos données. Vos données sont accessibles en lecture seule.
Lecture et écriture : vous voulez lire, écrire et modifier vos données. Pour les données lues et écrites, il est important de savoir si les opérations sont plutôt des opérations de lecture ou des opérations d'écriture ou si les deux types d'opérations sont équilibrés.
Déterminez la fréquence d'accès à vos données.
Données les plus sollicitées : données à accès fréquent. Les cas d'utilisation courants sont les applications Web ou mobiles.
Données à accès moins ou moyennement fréquent : données dont l'accès n'est pas très fréquent, par exemple une fois par mois ou moins. Les cas d'utilisation courants sont les archives, la conservation à court-terme des données ou la reprise après incident.
Données à accès peu fréquent : données dont l'accès est plutôt rare voire inexistant. Les cas d'utilisation courants sont les archives, les sauvegardes à long terme, les données d'historique.
Données figées : données auxquelles il n'y a pas d'accès et que vous devez conserver pour vous conformer à une réglementation.

Si vous ne pouvez pas prédire la fréquence ou la fréquence ne suit pas un schéma strict, déterminez si vos charges de travail sont lues-lourdes, lourdes, ou équilibrées. Ensuite, examinez l'option de stockage qui convient à votre charge de travail et recherchez le niveau de stockage qui vous offre la flexibilité dont vous avez besoin. Par exemple, IBM Cloud Object Storage fournit la classe de stockage flex qui prend en considération la fréquence d'accès aux données sur un mois et tient compte de cette mesure pour optimiser votre facturation mensuelle.

Déterminez si vos données doivent être partagées entre plusieurs instances d'application, plusieurs zones ou plusieurs régions.
Accès entre les pods : lorsque vous utilisez des volumes persistants Kubernetes pour accéder à votre stockage, vous pouvez déterminer le nombre de pods pouvant monter le volume en même temps. Certaines solutions de stockage sont accessibles par un seul site à la fois. Avec d'autres solutions de stockage, vous pouvez partager un volume entre plusieurs pods.
Accès entre les zones et les régions : vos données devront parfois être accessibles entre plusieurs zones ou régions. Certaines solutions de stockage, telles que le stockage de fichiers et de blocs, sont spécifiques au centre de données et ne peuvent pas être partagées entre les zones d'une configuration de cluster multizone.

Si vous souhaitez rendre vos données accessibles dans les différentes zones ou régions, veillez à consulter votre service juridique pour vérifier que vos données peuvent être stockées dans plusieurs zones ou dans un autre pays.

Familiarisez-vous avec d'autres caractéristiques de stockage pouvant influencer votre choix.
Cohérence : garantie qu'une opération de lecture renvoie la dernière version d'un fichier. Les solutions de stockage peuvent apporter une cohérence forte (strong consistency) qui vous garantit de recevoir la dernière version d'un fichier ou une cohérence finale (eventual consistency) lorsque l'opération de lecture ne garantit pas le renvoi de la dernière version. Vous obtenez souvent une cohérence finale dans les systèmes répartis géographiquement dans lesquels une opération d'écriture doit d'abord être répliquée sur toutes les instances.
Performances : temps nécessaire pour exécuter une opération de lecture ou d'écriture.
Durabilité : garantie qu'une opération d'écriture validée dans votre stockage survive de manière permanente sans subir de dommages ou de perte, même si les gigaoctets ou téraoctets de données sont écrits dans votre stockage au même moment.
Résilience : capacité de reprise après une panne en poursuivant les opérations, même en cas de défaillance d'un composant matériel ou logiciel. Par exemple, votre stockage physique subit une panne de courant, doit faire face à l'indisponibilité du réseau ou est supprimé suite à une catastrophe naturelle.
Disponibilité : capacité de fournir l'accès à vos données, même si un centre de données ou une région n'est pas disponible. La disponibilité de vos données est en principe assurée en ajoutant de la redondance et en configurant des mécanismes de basculement.
Evolutivité : possibilité d'augmenter la capacité et de personnaliser les performances en fonction de vos besoins.
Chiffrement : masquer les données permet d'empêcher leur visibilité en cas d'accès par un utilisateur non autorisé.

Le stockage local secondaire doit être ajouté au moment de la création du pool de travailleurs. L'ajout manuel de stockage au niveau de l'infrastructure après la création d'un pool de travailleurs n'est pas pris en charge et n'entraîne pas de stockage éphémère supplémentaire dans le cluster.

Options de stockage non persistant

Vous pouvez utiliser des options de stockage non persistant si vos données n'ont pas besoin d'être stockées de manière permanente ou pour les tests d'unité des composants de votre application. L'image suivante présente les options de stockage de données non persistant disponibles dans Red Hat OpenShift on IBM Cloud.

Options de stockage non persistant
Caractéristiques A l'intérieur du conteneur Sur le disque principal ou secondaire du noeud worker
Compatible avec plusieurs zones Non Non
Types de données Tous Tous
Capacité Limitée au disque secondaire disponible du noeud worker. Pour limiter l'espace de stockage secondaire utilisé par votre pod, utilisez les demandes et les limites de ressources pour le stockage éphémère. Limité à l'espace disponible sur le disque principal (hostPath) ou secondaire (emptyDir) du nœud de travail. Pour limiter la quantité de stockage secondaire utilisée par votre pod, utilisez les demandes et les limites de ressources pour le stockage éphémère.
Modèle d'accès aux données Opérations de lecture et d'écriture toute fréquence confondue Opérations de lecture et d'écriture toute fréquence confondue
Accès Via le système de fichiers local du conteneur Via Kubernetes hostPath pour accéder au stockage principal du nœud de travail. Via Kubernetes emptyDir volume pour accéder au stockage secondaire des nœuds de travail.
Performances Elevé Hautes avec faible temps d'attente lorsqu'une unité SSD est utilisée
Résilience Faible Faible
Disponibilité Spécifique au conteneur Spécifique au noeud worker
Extensibilité Difficile à étendre car limitée à la capacité du disque secondaire du noeud worker Difficile à étendre car limitée à la capacité du disque principal et du disque secondaire du noeud worker
Durabilité Les données sont perdues en cas de panne ou de retrait du conteneur. Les données des volumes hostPath ou emptyDir sont perdues lorsque le noeud worker est supprimé, rechargé ou mis à jour, lorsque le cluster est supprimé ou lorsque le compte IBM Cloud passe à l'état interrompu. En outre, les données d'un volume emptyDir sont supprimées lorsque le pod affecté est définitivement supprimé du noeud worker ou est planifié sur un autre noeud worker.
Scénarios d'utilisation courants Journaux de cache d'image locale ou de conteneur Configuration d'un cache local hautes performances, accès aux fichiers à partir du système de fichiers du noeud worker ou tests d'unité en cours d'exécution.
Cas d'utilisation non idéaux Stockage de données persistant ou partage de données entre conteneurs Stockage de données persistant

Clusters à zone unique

Si vous disposez d'un cluster à zone unique, vous pouvez choisir parmi les options suivantes dans Red Hat OpenShift on IBM Cloud, qui vous permettent d'accéder rapidement à vos données. Pour bénéficier d'une disponibilité accrue, utilisez une solution de stockage conçue pour les données réparties géographiquement et, si vos besoins le permettent, créez un cluster multizone.

L'image suivante présente les options disponibles dans Red Hat OpenShift on IBM Cloud pour stocker vos données de manière permanente dans un cluster à zone unique.

Options de stockage pour les clusters à zone unique
Caractéristiques Description
Guide de déploiement Configuration de File Storage for Classic.
Types de données idéaux Tous
Type d'allocation pris en charge Dynamique et statique
Modèle d'utilisation des données Opérations de lecture/écriture aléatoires, opérations de lecture/écriture séquentielles ou charges de travail à forte intensité d'écriture
Accès Via le système de fichiers sur le volume monté
Modes d'accès pris en charge pour l' Kubernetes
  • ReadWriteMany (RWX)
  • ReadOnlyMany (ROX)
  • ReadWriteOnce (RWO)
Performances Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille. Les IOPS sont partagées entre les pods qui accèdent au volume.
Cohérence Forte
Durabilité Elevé
Résilience Moyenne car spécifique à un centre de données. Le serveur de stockage de fichiers est mis en cluster par IBM avec une mise en réseau redondante.
Disponibilité Moyenne car spécifique à un centre de données.
Extensibilité Extension difficile au-delà du centre de données. Vous ne pouvez pas modifier un niveau de stockage existant.
Chiffrement Au repos
Sauvegarde et récupération Configuration de la prise régulière d'instantanés, réplication d'instantanés, duplication du stockage, sauvegarde des données dans IBM Cloud Object Storage ou copie des données vers et depuis des pods et des conteneurs.
Scénarios d'utilisation courants Stockage de masse ou dans un fichier unique, ou partage de fichiers dans un cluster à zone unique.
Cas d'utilisation non idéaux Clusters multizones ou données réparties géographiquement.
Options de stockage pour les clusters à zone unique
Caractéristiques Description
Guide de déploiement Configuration de Block Storage for Classic.
Types de données idéaux Tous
Type d'allocation pris en charge Dynamique et statique
Modèle d'utilisation des données Opérations de lecture/écriture aléatoires, opérations de lecture/écriture séquentielles ou charges de travail à forte intensité d'écriture
Accès Via le système de fichiers du volume monté.
Modes d'accès pris en charge pour l' Kubernetes ReadWriteOnce (RWO)
Performances Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille. Les IOPS ne sont pas partagées entre les pods.
Cohérence Forte
Durabilité Elevé
Résilience Moyenne car spécifique à un centre de données. Le serveur de stockage par blocs mis en cluster par IBM avec une mise en réseau redondante.
Disponibilité Moyenne car spécifique à un centre de données.
Extensibilité Extension difficile au-delà du centre de données. Vous ne pouvez pas modifier un niveau de stockage existant.
Chiffrement Au repos.
Sauvegarde et récupération Configuration de la prise régulière d'instantanés, réplication d'instantanés, duplication du stockage, sauvegarde des données dans IBM Cloud Object Storage ou copie des données vers et depuis des pods et des conteneurs.
Scénarios d'utilisation courants Ensembles avec état, stockage de sauvegarde lors de l'exécution de votre propre base de données ou accès haute performance pour les pods individuels.
Cas d'utilisation non idéaux Clusters multizone, données réparties géographiquement ou partage de données entre plusieurs instances d'application.
Options de stockage pour les clusters à zone unique
Caractéristique Description
Guide de déploiement Configuration de File Storage for VPC.
Types de données idéaux Tous
Type d'allocation pris en charge Dynamique et statique
Modèle d'utilisation des données Opérations de lecture/écriture aléatoires, opérations de lecture/écriture séquentielles ou charges de travail à forte intensité d'écriture
Accès Via le système de fichiers sur le volume monté
Modes d'accès pris en charge pour l' Kubernetes
  • ReadWriteMany (RWX)
  • ReadOnlyMany (ROX)
  • ReadWriteOnce (RWO) Version 1.2 et ultérieure.
Performances Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille. Les IOPS ne sont pas partagées entre les pods.
Cohérence Forte
Durabilité Elevé
Résilience Moyenne car spécifique à un centre de données. Le serveur de stockage de fichiers est mis en cluster par IBM avec une mise en réseau redondante.
Disponibilité Moyenne car spécifique à un centre de données.
Extensibilité Extension difficile au-delà du centre de données. Vous ne pouvez pas modifier un niveau de stockage existant.
Chiffrement Aucun
Sauvegarde et récupération Exécutez kubectl cp ou copiez des données vers et depuis le pod et les conteneurs.
Scénarios d'utilisation courants Stockage de masse ou dans un fichier unique, ou partage de fichiers dans un cluster à zone unique.
Cas d'utilisation non idéaux Clusters multizone, données réparties géographiquement ou partage de données entre plusieurs instances d'application.
Options de stockage pour les clusters à zone unique
Caractéristiques Description
Guide de déploiement Configuration de Block Storage for VPC.
Compatible avec plusieurs zones Non, car spécifique à un centre de données. Les données ne peuvent pas être partagées entre les zones, sauf si vous implementer votre propre réplication de données.
Types de données idéaux Tous
Modèle d'utilisation des données Opérations de lecture/écriture aléatoires, opérations de lecture/écriture séquentielles ou charges de travail à forte intensité d'écriture
Accès Via le système de fichiers sur le volume monté
Accès en écriture pris en charge par Kubernetes ReadWriteOnce (RWO)
Performances Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille. Les IOPS ne sont pas partagées entre les pods.
Cohérence Forte
Durabilité Elevé
Résilience Moyenne car spécifique à un centre de données. Le serveur de stockage par blocs mis en cluster par IBM avec une mise en réseau redondante.
Disponibilité Moyenne car spécifique à un centre de données.
Extensibilité Extension difficile au-delà du centre de données. Vous ne pouvez pas modifier un niveau de stockage existant.
Chiffrement Chiffrement en transit avec Key Protect
Sauvegarde et récupération Configuration de la prise régulière d'instantanés, réplication d'instantanés, duplication du stockage, sauvegarde des données dans IBM Cloud Object Storage ou copie des données vers et depuis des pods et des conteneurs.
Scénarios d'utilisation courants Ensembles avec état, stockage de sauvegarde lors de l'exécution de votre propre base de données ou accès haute performance pour les pods individuels.
Cas d'utilisation non idéaux Clusters multizone, données réparties géographiquement ou partage de données entre plusieurs instances d'application.

Clusters multizones

Les sections suivantes présentent les options disponibles dans « Red Hat OpenShift on IBM Cloud » pour stocker de manière permanente vos données dans un cluster multizone et garantir leur haute disponibilité. Vous pouvez utiliser ces options dans un cluster à zone unique mais vous risquez de ne pas obtenir les avantages requis par votre application en termes de haute disponibilité.

Options de stockage pour les clusters multizones
Caractéristique Description
Guide de déploiement Configuration de IBM Cloud Object Storage.
Fournisseurs d'infrastructure pris en charge Classique, VPC, Satellite
Types de données idéaux Données semi-structurées et non structurées
Modèle d'utilisation des données Charges de travail impliquant beaucoup d'opérations de lecture. Peu ou pas d'opérations d'écriture.
Accès Via le système de fichiers sur le volume monté (plug-in) ou via l'API REST de votre application
Modes d'accès pris en charge pour l' Kubernetes ReadWriteMany (RWX)
Performances Hautes pour les opérations de lecture. Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille lorsque vous utilisez des machines non SDS.
Cohérence Finale
Durabilité Très haute car les tranches de données sont réparties sur un cluster de noeuds
de stockage. Chaque noeud stocke uniquement une partie des données.
Résilience Haute car les tranches de données sont réparties sur trois zones ou régions. Moyen, uniquement lorsqu'il est configuré dans une région à zone unique.
Disponibilité Haute en raison de la répartition entre plusieurs zones ou régions.
Extensibilité Mise à l'échelle automatique
Chiffrement En transit et au repos
Sauvegarde et récupération Les données sont automatiquement répliquées sur plusieurs noeuds pour une durabilité élevée. Pour plus d'informations, voir l'accord SLA dans les conditions de serviceIBM Cloud Object Storage.
Scénarios d'utilisation courants Données géographiquement réparties, big data statique, contenu multimédia statique, applications Web, sauvegardes, archives, ensembles avec état.
Cas d'utilisation non idéaux Charges de travail en écriture, opérations d'écriture aléatoire, mises à jour incrémentielles de données ou bases de données de transactions.
Options de stockage pour les clusters multizones
Caractéristiques Description
Guide de déploiement Configuration de Portworx.
Fournisseurs d'infrastructure pris en charge Classique, VPC, Satellite
Types de données idéaux Tout
Modèle d'utilisation des données Charges de travail intensives en lecture et en écriture.
Accès Via le système de fichiers sur le volume monté (plug-in) ou via l'API REST de votre application
Modes d'accès pris en charge pour l' Kubernetes
  • ReadWriteMany (RWX)
  • ReadOnlyMany (ROX)
  • ReadWriteOnce (RWO)
Performances Hautes pour les opérations de lecture. Prévisibles en raison des opérations d'entrée-sortie par seconde (IOPS) affectées et de la taille lorsque vous utilisez des machines non SDS.
Cohérence Forte
Durabilité Très haute car les tranches de données sont réparties sur un cluster de noeuds
de stockage. Chaque noeud stocke uniquement une partie des données. Très élevé, trois copies de vos données sont toujours conservées.
Résilience Haute car les tranches de données sont réparties sur trois zones ou régions. Moyen, uniquement lorsqu'il est configuré dans une région à zone unique.
Disponibilité Haute en raison de la répartition entre plusieurs zones ou régions.
Extensibilité Mise à l'échelle automatique
Chiffrement Fournissez votre propre clé pour protéger vos données en transit et au repos avec IBM Key Protect.
Sauvegarde et récupération Les données sont automatiquement répliquées sur plusieurs noeuds pour une durabilité élevée. Pour plus d'informations, voir l'accord SLA dans les conditions de serviceIBM Cloud Object Storage. Utilisez les instantanés locaux ou du cloud pour sauvegarder l'état en cours d'un volume. Pour plus d'informations, consultez la section « Créer et utiliser des instantanés locaux ».
Scénarios d'utilisation courants Clusters multizones. Données réparties géographiquement. Big Data statiques. Contenu multimédia statique
Cas d'utilisation non idéaux Charges de travail en écriture, opérations d'écriture aléatoire, mises à jour incrémentielles de données ou bases de données de transactions.
Options de stockage pour les clusters multizones
Caractéristique Description
Guide de déploiement Déployer OpenShift Data Foundation.
Fournisseurs d'infrastructure pris en charge Classique, VPC, Satellite
Types de données idéaux Tout
Modèle d'utilisation des données Charges de travail impliquant beaucoup d'opérations d'écriture. Opération de lecture-écriture aléatoire. Opérations séquentielles de lecture et d'écriture.
Accès Tous
Performances Proches des performances bare metal pour les opérations de lecture-écriture séquentielle lorsque vous utilisez des machines SDS. Créez une couche de stockage basée sur les performances de classe de stockage (IOPS) dont vous avez besoin.
Cohérence Forte
Durabilité Très élevé, trois copies de vos données sont toujours conservées.
Résilience Haute lorsque la configuration comporte une réplication sur trois zones. Moyenne lorsque le stockage des données s'effectue dans une seule zone.
Disponibilité Haute lorsque vous répliquez des données sur trois noeuds worker dans différentes zones.
Extensibilité Augmentez la capacité du volume en le redimensionnant. Pour augmenter la capacité de la couche de stockage globale, vous devez ajouter des noeuds worker ou supprimer du stockage par blocs. Ces deux scénarios nécessitent que la capacité soit surveillée par l'utilisateur.
Chiffrement Apportez votre propre clé avec IBM Key Protect ou HPCS. En transit et au repos.
Sauvegarde et récupération Utilisez les instantanés locaux ou du cloud pour sauvegarder l'état en cours d'un volume.
Options de stockage pour les clusters multizones
Caractéristiques Description
Guide de déploiement Connecter un déploiement Cloud Databases à une application IBM Cloud Kubernetes Service.
Fournisseurs d'infrastructure pris en charge Classique, VPC, Satellite
Types de données idéaux Depends on the DBaaS
Modèle d'utilisation des données Charges de travail à forte intensité de lecture/écriture
Accès Via l'API REST de votre application
Accès en écriture pris en charge par Kubernetes N/A car accès direct depuis l'application
Performances Hautes si la base de données est déployée dans le même centre de données que votre application.
Cohérence Depends on the DBaaS
Durabilité Elevé
Résilience Selon la base de données sous forme de service (DBaaS) et votre configuration
Disponibilité Haute si vous avez configuré plusieurs instances.
Extensibilité Mise à l'échelle automatique
Chiffrement Au repos
Sauvegarde et récupération Depends on the DBaaS
Scénarios d'utilisation courants Clusters multizones, bases de données relationnelles et non relationnelles, ou données réparties géographiquement.
Cas d'utilisation non idéaux Application conçue pour écrire dans un système de fichiers.

Etapes suivantes

Pour poursuivre le processus de planification, documentez l'architecture de votre environnement.