Persistenten Block-Volume-Speicher erstellen

Der Block-Volume-Service von Compute Cloud@Customer bietet persistenten, dauerhaften und leistungsstarken Blockspeicher, mit dem Sie Daten außerhalb von Containern speichern können.

Diese Prozedur erstellt automatisch die angeforderte Speicherklasse oci-bv. Sie müssen sie nicht erstellen. Diese Prozedur beginnt mit dem Befehl kubectl, um den Persistent Volume Claim zu erstellen.

  1. Erstellen Sie einen Persistent Volume Claim, indem Sie den Speicherklassennamen oci-bv angeben.

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

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

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

    Der Persistent Volume Claim-Name 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 ReadWriteMany nicht.

    Der Wert der Eigenschaft storage muss mindestens 50 Gigabyte betragen.

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

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

    Der PVC hat den Status Pending, da die Speicherklassendefinition oci-bv Folgendes enthält:

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

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

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    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

    Führen Sie den folgenden Befehl aus, um zu prüfen, ob das PVC an eine neue PV gebunden wurde:

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

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

    $ kubectl describe pod nginx