Criando Armazenamento de Volume em Blocos Persistente
O serviço Compute Cloud@Customer Block Volume fornece armazenamento em blocos persistente, durável e de alto desempenho que você pode usar para armazenar dados fora dos contêineres.
Este procedimento cria automaticamente a classe de armazenamento oci-bv
solicitada; você não precisa criá-la. Esse procedimento começa com o uso do comando kubectl
para criar a reivindicação de volume persistente.
-
Crie uma reivindicação de volume persistente, especificando o nome da classe de armazenamento
oci-bv
.$ kubectl create -f csi-bvs-pvc.yaml
Veja a seguir o conteúdo do arquivo
csi-bvs-pvc.yaml
:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mynginxclaim spec: storageClassName: "oci-bv" accessModes: - ReadWriteOnce resources: requests: storage: 50Gi
O nome da reivindicação de volume persistente na seção
metadata
é especificado pelo usuário. Você pode ter mais de uma reivindicação de volume persistente em um volume persistente.Para o valor de
accessModes
, especifiqueReadWriteOnce
; não useReadWriteMany
.O valor da propriedade
storage
deve ser de pelo menos 50 gigabytes. -
Execute o seguinte comando para verificar se a PVC foi criada:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Pending oci-bv 4m
A PVC tem um status
Pending
porque a definição da classe de armazenamentooci-bv
inclui o seguinte:volumeBindingMode: WaitForFirstConsumer
-
Use a PVC ao criar outros objetos, como pods.
Por exemplo, você pode criar um novo pod com base na seguinte definição de pod, que instrui o sistema a usar a PVC
mynginxclaim
como volumenginx
, que é montado pelo pod em/data
: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
Execute o seguinte comando para verificar se a PVC foi vinculada a um novo PV:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Bound csi-unique_ID 50Gi RWO oci-bv
Execute o seguinte comando para verificar se o pod está usando a nova PVC:
$ kubectl describe pod nginx