Chapitre 4. Configuration du stockage persistant


Le service OpenShift Red Hat sur les clusters AWS est préconstruit avec quatre classes de stockage utilisant les volumes Amazon Elastic Block Store (Amazon EBS). Ces classes de stockage sont prêtes à être utilisées et une certaine familiarité avec Kubernetes et AWS est supposée.

Les quatre classes de stockage préconçues suivantes sont les suivantes:

Expand
Le nomA) Prestataire

Gp2

Kubernetes.io/aws-ebs

gp2-csi

EBS.csi.aws.com

gp3 (par défaut)

Kubernetes.io/aws-ebs

gp3-csi

EBS.csi.aws.com

La classe de stockage gp3 est définie par défaut; cependant, vous pouvez sélectionner l’une des classes de stockage comme classe de stockage par défaut.

Le cadre de volume persistant de Kubernetes permet aux administrateurs de fournir 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. De manière dynamique, vous pouvez fournir des volumes Amazon EBS. Les volumes persistants ne sont pas liés à un seul projet ou espace de noms; ils peuvent être partagés à travers le service OpenShift Red Hat sur AWS cluster. Les revendications de volume persistantes sont spécifiques à un projet ou à un espace de noms et peuvent être demandées par les utilisateurs. Il est possible de définir une clé KMS pour chiffrer des volumes persistants sur AWS. Les clusters nouvellement créés utilisant Red Hat OpenShift Service sur AWS version 4.10 et plus tard utilisent le stockage gp3 et le pilote AWS EBS CSI.

Important

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

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 et les usages de stockage. 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 persistante

Conditions préalables

Le stockage doit exister dans l’infrastructure sous-jacente avant de pouvoir être monté en volume dans Red Hat OpenShift Service sur AWS.

Procédure

  1. Dans le Red Hat OpenShift Service sur la console AWS, cliquez sur Stockage Réclamations de volume persistant.
  2. Dans l’aperçu des revendications de volume persistant, cliquez sur Créer une revendication de volume persistant.
  3. Définissez les options souhaitées sur la page qui apparaît.

    1. Choisissez la classe de stockage précédemment créée dans le menu déroulant.
    2. Entrez un nom unique pour la revendication de stockage.
    3. Choisissez le mode d’accès. Cette sélection détermine l’accès en lecture et en écriture pour la revendication de stockage.
    4. Définir la taille de la revendication de stockage.
  4. Cliquez sur Créer pour créer la revendication de volume persistante et générer un volume persistant.

4.1.3. Format du volume

Avant que Red Hat OpenShift Service sur AWS monte le volume et 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 persistante du volume. Lorsque l’appareil n’est pas formaté avec le système de fichiers, toutes les données de l’appareil sont effacées et l’appareil est automatiquement formaté avec le système de fichiers donné.

Cette vérification vous permet d’utiliser des volumes AWS non formatés comme volumes persistants, car Red Hat OpenShift Service sur AWS les formate avant la première utilisation.

4.1.4. Le nombre maximal de volumes EBS sur un nœud

Le service OpenShift Red Hat sur AWS prend en charge un maximum de 39 volumes EBS attachés à un nœud. Cette limite est compatible 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 les volumes de l’interface de stockage de conteneurs (CSI) et leurs classes de stockage respectives, mais jamais les deux types de volume en même temps. Le nombre maximum de volume EBS joint est compté séparément pour les volumes en arbre et CSI, ce qui signifie que vous pourriez avoir jusqu’à 39 volumes EBS de chaque type.

En ce qui concerne l’accès à des options de stockage supplémentaires, telles que des instantanés de volume, qui ne sont pas possibles avec les plug-ins de volume dans l’arbre, consultez AWS Elastic Block Store CSI Driver Operator.

La définition d’une clé KMS pour chiffrer des volumes persistants sur AWS est utile lorsque vous avez des directives de conformité et de sécurité explicites lors du déploiement sur AWS.

Conditions préalables

  • L’infrastructure sous-jacente doit contenir le stockage.
  • Il faut 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
    Copy to Clipboard Toggle word wrap
    1
    Indique le nom de la classe de stockage.
    2
    Le système de fichiers créé sur les volumes provisionnés.
    3
    Indique le nom de ressource Amazon (ARN) complet de la clé à utiliser lors du chiffrement du volume persistant du conteneur. Lorsque vous ne fournissez pas de clé, mais que le champ crypté est défini sur true, la clé KMS par défaut est utilisée. Consultez la recherche de l’identifiant clé et de la clé ARN sur AWS dans la documentation AWS.
  2. Créez une revendication de volume persistante (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
    Copy to Clipboard Toggle word wrap
  3. Créer des conteneurs de charge de travail pour consommer 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
    Copy to Clipboard Toggle word wrap
Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat