Criando Armazenamento de Volume em Blocos Persistente de Alto Desempenho

Este procedimento cria um volume em blocos de alto desempenho como armazenamento persistente no Compute Cloud@Customer.

Se você não precisar de um volume em blocos de alto desempenho, use as instruções em Criando Armazenamento de Volume em Blocos Persistente.

  1. Crie um volume em blocos de alto desempenho usando o plug-in CSI especificado pela definição de classe de armazenamento oci-bv-high (provisioner: blockvolume.csi.oraclecloud.com).

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

    Veja a seguir o conteúdo do arquivo 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
  2. Crie uma reivindicação de volume persistente, especificando o nome da classe de armazenamento oci-bv-high.

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

    Veja a seguir o conteúdo do arquivo csi-bvs-high-pvc.yaml:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: mynginxclaim-high
    spec:
      storageClassName: "oci-bv-high"
      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, especifique ReadWriteOnce; não use ReadWriteMany.

    O valor da propriedade storage deve ter pelo menos 50 gigabytes.

  3. Execute o seguinte comando para verificar se a PVC foi criada:

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

    A PVC tem um status Pendente porque a definição da classe de armazenamento oci-bv-high inclui o seguinte:

    volumeBindingMode: WaitForFirstConsumer
  4. Use a PVC ao criar outros objetos, como pods.

    Por exemplo, você pode criar um novo pod com base na definição de pod a seguir, que instrui o sistema a usar a PVC mynginxclaim-high como volume nginx, que é montado pelo pod em /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

    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-high   Bound    csi-unique_ID   50Gi       RWO           oci-bv-high

    Execute o seguinte comando para verificar se o pod está usando a nova PVC:

    $ kubectl describe pod nginx-high