Persistenten Block Volume-Speicher erstellen

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

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

  1. Erstellen Sie einen persistenten Volume Claim, und geben Sie den Speicherklassennamen oci-bv an.

    $ 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 vom Benutzer angegeben. Für ein persistentes Volume können mehrere Persistent Volume Claims vorhanden sein.

    Geben Sie als Wert von accessModes ReadWriteOnce an. Verwenden Sie ReadWriteMany nicht.

    Der Wert der Eigenschaft storage muss mindestens 50 GB 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, die das System anweist, den mynginxclaim-PVC als nginx-Volume zu verwenden, das vom Pod bei /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 ein neues 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 den neuen PVC verwendet:

    $ kubectl describe pod nginx