Creazione dello storage per volumi a blocchi a elevate prestazioni persistente

Questa procedura crea un volume a blocchi a elevate prestazioni come storage persistente su Compute Cloud@Customer.

Se non è necessario un volume a blocchi a elevate prestazioni, attenersi alle istruzioni riportate in Creazione di uno storage per volumi a blocchi persistente.

  1. Creare un volume a blocchi a elevate prestazioni utilizzando il plugin CSI specificato dalla definizione della 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 storage 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 di 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 quando si creano altri oggetti, come i baccelli.

    Ad esempio, è possibile creare un nuovo pod dalla seguente definizione di pod, che indica al sistema di utilizzare il PVC mynginxclaim-high come volume nginx, 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 comando seguente 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 utilizzi il nuovo PVC:

    $ kubectl describe pod nginx-high