Creación de almacenamiento de volúmenes en bloque de alto rendimiento persistente
Este procedimiento crea un volumen en bloque de alto rendimiento como almacenamiento persistente en Compute Cloud@Customer.
Si no necesita un volumen en bloque de alto rendimiento, utilice las instrucciones de Creación de almacenamiento de volúmenes en bloque persistentes.
-
Cree un volumen en bloque de alto rendimiento mediante el plugin CSI especificado por la definición de clase de almacenamiento
oci-bv-high
(provisioner: blockvolume.csi.oraclecloud.com
).$ kubectl create -f csi-bvs-high.yaml
A continuación se muestra el contenido del archivo
csi-bvs-high.yaml
:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: oci-bv-high provisioner: blockvolume.csi.oraclecloud.com parameters: vpusPerGB: "20" attachment-type: "paravirtualized" volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true reclaimPolicy: Delete
-
Cree una reclamación de volumen persistente especificando el nombre de clase de almacenamiento
oci-bv-high
.$ kubectl create -f csi-bvs-high-pvc.yaml
A continuación se muestra el contenido del archivo
csi-bvs-high-pvc.yaml
:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mynginxclaim-high spec: storageClassName: "oci-bv-high" accessModes: - ReadWriteOnce resources: requests: storage: 50Gi
El nombre de reclamación de volumen persistente en la sección
metadata
está especificado por el usuario. Puede tener más de una reclamación de volumen persistente en un volumen persistente.Para el valor de
accessModes
, especifiqueReadWriteOnce
; no utiliceReadWriteMany
.El valor de la propiedad
storage
debe ser de al menos 50 gigabytes. -
Ejecute el siguiente comando para verificar que se haya creado la PVC:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim-high Pending oci-bv-high 4m
La PVC tiene el estado Pendiente porque la definición de clase de almacenamiento
oci-bv-high
incluye lo siguiente:volumeBindingMode: WaitForFirstConsumer
-
Utilice la PVC al crear otros objetos, como pods.
Por ejemplo, puede crear un nuevo pod a partir de la siguiente definición de pod, que indica al sistema que utilice la PVC
mynginxclaim-high
como volumennginx
, montado por el pod en/data
:apiVersion: v1 kind: Pod metadata: name: nginx-high 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-high
Ejecute el siguiente comando para verificar que la PVC se haya enlazado a un nuevo PV:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim-high Bound csi-unique_ID 50Gi RWO oci-bv-high
Ejecute el siguiente comando para verificar que el pod está utilizando la nueva PVC:
$ kubectl describe pod nginx-high