Persistenten Hochleistungs-Block-Volume-Speicher erstellen

Diese Prozedur erstellt ein leistungsstarkes Block-Volume als persistenten Speicher auf Compute Cloud@Customer.

Wenn Sie kein leistungsstarkes Block-Volume benötigen, befolgen Sie die Anweisungen unter Persistenten Block-Volume-Speicher erstellen.

  1. Erstellen Sie ein High Performance-Block-Volume mit dem CSI-Plug-in, das in der Speicherklassendefinition oci-bv-high (provisioner: blockvolume.csi.oraclecloud.com) angegeben ist.

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

    Der Inhalt der Datei csi-bvs-high.yaml lautet wie folgt:

    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. Erstellen Sie einen Persistent Volume Claim, und geben Sie den Namen der Speicherklasse oci-bv-high an.

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

    Der Inhalt der Datei csi-bvs-high-pvc.yaml lautet wie folgt:

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

    Der Name des Persistent Volume Claims im Abschnitt metadata ist benutzerdefiniert. Auf einem persistenten Volume können mehrere Persistent Volume Claims vorhanden sein.

    Geben Sie für den Wert von accessModes ReadWriteOnce an. Verwenden Sie nicht ReadWriteMany.

    Der Wert der Eigenschaft storage muss mindestens 50 Gigabyte betragen.

  3. Führen Sie den folgenden Befehl aus, um zu prüfen, ob das PVC erstellt wurde:

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

    Der PVC-Status lautet "Ausstehend", da die Speicherklassendefinition oci-bv-high Folgendes enthält:

    volumeBindingMode: WaitForFirstConsumer
  4. Verwenden Sie den PVC beim Erstellen anderer Objekte, wie Pods.

    Beispiel: Sie können einen neuen Pod aus der folgenden Poddefinition erstellen, die das System anweist, den PVC mynginxclaim-high als nginx-Volume zu verwenden, das vom Pod bei /data gemountet ist:

    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

    Führen Sie den folgenden Befehl aus, um zu prüfen, ob das PVC an ein neues PV gebunden ist:

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

    Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Pod das neue PVC verwendet:

    $ kubectl describe pod nginx-high