Chapitre 4. Configuration du stockage persistant


4.1. Stockage persistant à l'aide d'AWS Elastic Block Store

OpenShift Container Platform prend en charge les volumes AWS Elastic Block Store (EBS). Vous pouvez approvisionner votre cluster OpenShift Container Platform avec un stockage persistant en utilisant Amazon EC2.

Le cadre de volume persistant Kubernetes permet aux administrateurs de provisionner un cluster avec un stockage persistant et donne aux utilisateurs un moyen de demander ces ressources sans avoir aucune connaissance de l'infrastructure sous-jacente. Vous pouvez provisionner dynamiquement des volumes AWS EBS. Les volumes persistants ne sont pas liés à un seul projet ou espace de noms ; ils peuvent être partagés à travers le cluster OpenShift Container Platform. Les demandes de volumes persistants sont spécifiques à un projet ou à un espace de noms et peuvent être demandées par les utilisateurs. Vous pouvez définir une clé KMS pour chiffrer les volumes persistants des conteneurs sur AWS.

Important

OpenShift Container Platform utilise par défaut un plug-in in-tree, ou non-Container Storage Interface (CSI) pour provisionner le stockage AWS EBS. Dans les prochaines versions d'OpenShift Container Platform, les volumes provisionnés à l'aide des plug-ins in-tree existants sont prévus pour une migration vers leur pilote CSI équivalent.

La migration automatique de l'ICS doit être transparente. La migration ne modifie pas la façon dont vous utilisez tous les objets API existants, tels que les volumes persistants, les réclamations de volumes persistants et les classes de stockage. Pour plus d'informations sur la migration, voir Migration automatique CSI.

Après la migration complète, les plugins in-tree seront éventuellement supprimés dans les futures versions d'OpenShift Container Platform.

Important

La haute disponibilité du stockage dans l'infrastructure est laissée au fournisseur de stockage sous-jacent.

Pour OpenShift Container Platform, la migration automatique d'AWS EBS in-tree vers le pilote Container Storage Interface (CSI) est disponible en tant que fonctionnalité d'aperçu technologique (TP). Lorsque la migration est activée, les volumes provisionnés à l'aide du pilote in-tree existant sont automatiquement migrés pour utiliser le pilote AWS EBS CSI. Pour plus d'informations, voir la fonctionnalité de migration automatique CSI.

4.1.1. Création de la classe de stockage EBS

Les classes de stockage sont utilisées pour différencier et délimiter les niveaux de stockage et les utilisations. En définissant une classe de stockage, les utilisateurs peuvent obtenir des volumes persistants provisionnés dynamiquement.

4.1.2. Création de la revendication de volume persistant

Conditions préalables

Le stockage doit exister dans l'infrastructure sous-jacente avant de pouvoir être monté en tant que volume dans OpenShift Container Platform.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Storage Persistent Volume Claims.
  2. Dans l'aperçu des réclamations relatives aux volumes persistants, cliquez sur Create Persistent Volume Claim.
  3. Définissez les options souhaitées sur la page qui s'affiche.

    1. Sélectionnez la classe de stockage précédemment créée dans le menu déroulant.
    2. Saisissez un nom unique pour la créance de stockage.
    3. Sélectionner le mode d'accès. Cette sélection détermine l'accès à la lecture et à l'écriture pour l'unité de stockage.
    4. Définir la taille de la demande de stockage.
  4. Cliquez sur Create pour créer la demande de volume persistant et générer un volume persistant.

4.1.3. Format du volume

Avant que OpenShift Container Platform ne monte le volume et ne le transmette à un conteneur, il vérifie que le volume contient un système de fichiers tel que spécifié par le paramètre fsType dans la définition du volume persistant. Si le périphérique n'est pas formaté avec le système de fichiers, toutes les données du périphérique sont effacées et le périphérique est automatiquement formaté avec le système de fichiers donné.

Cette vérification permet d'utiliser des volumes AWS non formatés en tant que volumes persistants, car OpenShift Container Platform les formate avant la première utilisation.

4.1.4. Nombre maximal de volumes EBS sur un nœud

Par défaut, OpenShift Container Platform prend en charge un maximum de 39 volumes EBS attachés à un nœud. Cette limite est cohérente avec les limites de volume AWS. La limite de volume dépend du type d'instance.

Important

En tant qu'administrateur de cluster, vous devez utiliser soit des volumes in-tree, soit des volumes Container Storage Interface (CSI) et leurs classes de stockage respectives, mais jamais les deux types de volumes en même temps. Le nombre maximum de volumes EBS attachés est compté séparément pour les volumes in-tree et CSI, ce qui signifie que vous pouvez avoir jusqu'à 39 volumes EBS de chaque type.

Pour plus d'informations sur l'accès à des options de stockage supplémentaires, telles que les instantanés de volume, qui ne sont pas possibles avec les plug-ins de volume dans l'arborescence, voir AWS Elastic Block Store CSI Driver Operator.

4.1.5. Chiffrer les volumes persistants des conteneurs sur AWS avec une clé KMS

La définition d'une clé KMS pour chiffrer les volumes persistants des conteneurs sur AWS est utile lorsque vous disposez de directives explicites en matière de conformité et de sécurité lors du déploiement sur AWS.

Conditions préalables

  • L'infrastructure sous-jacente doit contenir un espace de stockage.
  • Vous devez créer une clé KMS client sur AWS.

Procédure

  1. Créer une classe de stockage :

    $ cat << EOF | oc create -f -
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: <storage-class-name> 1
    parameters:
      fsType: ext4 2
      encrypted: "true"
      kmsKeyId: keyvalue 3
    provisioner: ebs.csi.aws.com
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    EOF
    1
    Spécifie le nom de la classe de stockage.
    2
    Système de fichiers créé sur des volumes provisionnés.
    3
    Spécifie le nom complet de la ressource Amazon (ARN) de la clé à utiliser pour chiffrer le volume persistant du conteneur. Si vous ne fournissez pas de clé, mais que le champ encrypted est défini sur true, la clé KMS par défaut est utilisée. Voir Finding the key ID and key ARN on A WS dans la documentation AWS.
  2. Créez une revendication de volume persistant (PVC) avec la classe de stockage spécifiant la clé KMS :

    $ cat << EOF | oc create -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: mypvc
    spec:
      accessModes:
        - ReadWriteOnce
      volumeMode: Filesystem
      storageClassName: <storage-class-name>
      resources:
        requests:
          storage: 1Gi
    EOF
  3. Créer des conteneurs de charge de travail pour utiliser le PVC :

    $ cat << EOF | oc create -f -
    kind: Pod
    metadata:
      name: mypod
    spec:
      containers:
        - name: httpd
          image: quay.io/centos7/httpd-24-centos7
          ports:
            - containerPort: 80
          volumeMounts:
            - mountPath: /mnt/storage
              name: data
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: mypvc
    EOF

4.1.6. Ressources supplémentaires

  • Voir AWS Elastic Block Store CSI Driver Operator pour plus d'informations sur l'accès à des options de stockage supplémentaires, telles que les instantanés de volume, qui ne sont pas possibles avec les plugins de volume dans l'arborescence.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.