Création d'un stockage de volumes par blocs persistant
Le service de volume par blocs Compute Cloud@Customer fournit un stockage par blocs persistant, durable et haute performance que vous pouvez utiliser pour stocker des données en dehors des conteneurs.
Cette procédure crée automatiquement la classe de stockage oci-bv
demandée; vous n'avez pas besoin de la créer. Cette procédure commence par l'utilisation de la commande kubectl
pour créer la revendication de volume persistant.
-
Créez une revendication de volume persistant, en spécifiant le nom de classe de stockage
oci-bv
.$ kubectl create -f csi-bvs-pvc.yaml
Le contenu du fichier
csi-bvs-pvc.yaml
est le suivant :apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mynginxclaim spec: storageClassName: "oci-bv" accessModes: - ReadWriteOnce resources: requests: storage: 50Gi
Le nom de la revendication de volume persistant dans la section
metadata
est spécifié par l'utilisateur. Vous pouvez avoir plusieurs revendications de volume persistant sur un volume persistant.Pour la valeur de
accessModes
, spécifiezReadWriteOnce
; n'utilisez pasReadWriteMany
.La valeur de la propriété
storage
doit être d'au moins 50 gigaoctets. -
Exécutez la commande suivante pour vérifier que la revendication de volume persistant a été créée :
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Pending oci-bv 4m
La PVC a le statut
Pending
car la définition de la classe de stockageoci-bv
inclut les éléments suivants :volumeBindingMode: WaitForFirstConsumer
-
Utilisez la revendication de volume persistant lors de la création d'autres objets, tels que des pods.
Par exemple, vous pouvez créer un nouveau module de réseautage à partir de la définition de module de réseautage suivante, qui demande au système d'utiliser la revendication de volume persistant
mynginxclaim
en tant que volumenginx
, monté par le module de réseautage à l'adresse/data
:apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:latest ports: - name: http containerPort: 80 volumeMounts: - name: data mountPath: /usr/share/nginx/html volumes: - name: data persistentVolumeClaim: claimName: mynginxclaim
Exécutez la commande suivante pour vérifier que la revendication de volume persistant a été liée à un nouveau PV :
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Bound csi-unique_ID 50Gi RWO oci-bv
Exécutez la commande suivante pour vérifier que le pod utilise la nouvelle revendication de volume persistant :
$ kubectl describe pod nginx