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

No ambiente vSphere, os objetos de volume permanente são suportados por discos virtuais que residem em repositórios de dados. Os repositórios de dados são representados por políticas de armazenamento. Depois que o administrador do vSphere criar uma política de armazenamento, por exemplo, gold, e atribuí-la a um namespace em um Supervisor, a política de armazenamento aparecerá como uma classe de armazenamento Kubernetes correspondente no vSphere Namespace e qualquer clusters Tanzu Kubernetes Grid disponíveis.

Como engenheiro de DevOps, você pode usar a classe de armazenamento nas 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 do aplicativo é criado dinamicamente.

Pré-requisitos

Certifique-se de que o administrador do vSphere tenha criado uma política de armazenamento apropriada e atribuído a política ao namespace.

Procedimento

  1. Acesse seu namespace no ambiente 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 da declaração de volume persistente.
      Neste exemplo, o arquivo faz referência à classe de armazenamento gold.
      Para provisionar um volume permanente ReadWriteMany, defina accessModes como ReadWriteMany. Consulte Criando volumes persistentes ReadWriteMany 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 Kubernetes.
      kubectl apply -f pvc_name.yaml
      Esse comando cria dinamicamente um volume permanente do Kubernetes e um volume vSphere com um disco virtual de backup 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á associado à 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 monte 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 Monitorar a integridade do volume em um cluster vSphere Namespace ou Tanzu Kubernetes Grid. Para revisar e monitorar o volume persistente no vSphere Client, consulte Monitorar volumes persistentes no vSphere Client.