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.
-
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
-
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
, specificareReadWriteOnce
; non utilizzareReadWriteMany
.Il valore della proprietà
storage
deve essere di almeno 50 gigabyte. -
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
-
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 volumenginx
, 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