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.

  1. 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
  2. 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, especifique ReadWriteOnce; no utilice ReadWriteMany.

    El valor de la propiedad storage debe ser de al menos 50 gigabytes.

  3. 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
  4. 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 volumen nginx, 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