Aplicativos com estado, por exemplo, bancos de dados, salvam dados entre as sessões e exigem armazenamento persistente para armazenar os dados. Os dados retidos são chamados de estado do aplicativo. Você pode recuperar os dados mais tarde e usá-los na próxima sessão. O Kubernetes oferece volumes persistentes como objetos capazes de reter seu estado e dados.

No ambiente do vSphere, os objetos de volume persistente são apoiados por discos virtuais que residem em datastores. Os datastores são representados por políticas de armazenamento. Depois que o administrador do vSphere cria uma política de armazenamento, por exemplo, gold , e a atribui a um namespace em um Supervisor Cluster, a política de armazenamento aparece como uma classe de armazenamento Kubernetes correspondente no vSphere Namespace e em qualquer {disponível Tanzu Kubernetes clusters.

Como engenheiro de DevOps, você pode usar a classe de armazenamento em suas especificações de declaração de volume persistente. Em seguida, você pode implantar um aplicativo que usa o armazenamento da declaração de volume persistente. Neste exemplo, o volume persistente para o aplicativo é criado dinamicamente.

Pré-requisitos

Verifique se o administrador do vSphere criou uma política de armazenamento apropriada e atribuiu a política ao namespace.

Procedimento

  1. Acesse seu namespace no ambiente do vSphere Kubernetes.
  2. Verifique se as classes de armazenamento estão disponíveis.
  3. Crie uma declaração de volume persistente.
    1. Crie um arquivo YAML que contenha a configuração de declaração de volume persistente.
      Neste exemplo, o arquivo faz referência à classe de armazenamento gold .
      Para provisionar um volume persistente ReadWriteMany, defina accessModes como ReadWriteMany. Consulte o Criando ReadWriteMany Volumes Persistent em vSphere with Tanzu.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. Aplique a declaração de volume persistente ao cluster do Kubernetes.
      kubectl apply -f pvc_name.yaml
      Esse comando cria dinamicamente um volume persistente do Kubernetes e um volume do vSphere com um disco virtual de suporte que atende aos requisitos de armazenamento da declaração.
    3. Verifique o status da declaração de volume persistente.
      kubectl get pvc my-pvc

      A saída mostra que o volume está vinculado à declaração de volume persistente.

      NAME     STATUS    VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
      my-pvc   Bound     my-pvc   2Gi        RWO           gold           30s
  4. Crie um pod que monta seu volume persistente.
    1. Crie um arquivo YAML que inclua o volume persistente.
      O arquivo contém esses parâmetros.
      ...
      volumes:
          - name: my-pvc
            persistentVolumeClaim:
              claimName: my-pvc
    2. Implante o pod do arquivo YAML.
      kubectl create -f pv_pod_name.yaml
    3. Verifique se o pod foi criado.
      kubectl get pod
      NAME       READY   STATUS    RESTARTS   AGE
      pod_name   1/1     Ready     0          40s

Resultados

O pod que você configurou usa o armazenamento persistente descrito na declaração de volume persistente.

O que Fazer Depois

Para monitorar o status de integridade do volume persistente, consulte Monitore a integridade do volume em um vSphere Namespace ou Tanzu Kubernetes cluster. Para revisar e monitorar o volume persistente no vSphere Client, consulte Monitore volumes persistentes no vSphere Client.