Creazione di storage persistente per volumi a blocchi a elevate prestazioni

Impara a creare un volume a blocchi ad alte prestazioni come storage persistente su Compute Cloud@Customer.

Se non hai bisogno di un volume a blocchi a elevate prestazioni, segui le istruzioni riportate in Creazione di storage per volumi a blocchi persistente.

  1. Creare un volume a blocchi ad alte prestazioni utilizzando il plugin CSI specificato dalla definizione di classe di storage oci-bv-high (provisioner: blockvolume.csi.oraclecloud.com).

    $ kubectl create -f csi-bvs-high.yaml

    Di seguito è riportato il contenuto del file 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. Creare una richiesta di volume persistente, specificando il nome della classe di memorizzazione oci-bv-high.

    $ kubectl create -f csi-bvs-high-pvc.yaml

    Di seguito è riportato il contenuto del file csi-bvs-high-pvc.yaml.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: mynginxclaim-high
    spec:
      storageClassName: "oci-bv-high"
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 50Gi

    Il nome richiesta volume persistente nella sezione metadata è specificato dall'utente. È possibile avere più richieste di volume persistenti su un volume persistente.

    Per il valore accessModes, specificare ReadWriteOnce. Non utilizzare ReadWriteMany.

    Il valore della proprietà storage deve essere di almeno 50 gigabyte.

  3. Eseguire il comando seguente per verificare che il PVC sia stato creato:

    $ kubectl get pvc
    NAME                STATUS   VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
    mynginxclaim-high   Pending                                    oci-bv-high    4m

    Lo stato del PVC è In sospeso perché la definizione della classe di memorizzazione oci-bv-high include quanto segue:

    volumeBindingMode: WaitForFirstConsumer
  4. Utilizzare il PVC durante la creazione di altri oggetti, ad esempio i pod.

    Ad esempio, è possibile creare un nuovo pod dalla seguente definizione pod, che indica al sistema di utilizzare il PVC mynginxclaim-high come volume nginx, che viene montato dal pod all'indirizzo /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

    Eseguire il seguente comando per verificare che il PVC sia stato associato a un nuovo PV:

    $ kubectl get pvc
    NAME                STATUS   VOLUME          CAPACITY   ACCESSMODES   STORAGECLASS   AGE
    mynginxclaim-high   Bound    csi-unique_ID   50Gi       RWO           oci-bv-high

    Eseguire il comando seguente per verificare che il pod stia utilizzando il nuovo PVC:

    $ kubectl describe pod nginx-high