Crie instantâneos de volumes

Esta página explica como criar uma cópia ou uma imagem instantânea de um volume de armazenamento num momento específico para a sua aplicação de contentor. Uma imagem instantânea de volume permite-lhe reverter um volume para um estado anterior ou aprovisionar um novo volume.

Esta página destina-se a programadores no grupo de operadores de aplicações, que são responsáveis por criar cargas de trabalho de aplicações para a respetiva organização. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Antes de começar

Para executar comandos num cluster do Kubernetes, certifique-se de que tem os seguintes recursos:

  1. Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma qual é o nome do cluster.

  2. Inicie sessão e gere o ficheiro kubeconfig para o cluster Kubernetes, se não tiver um.

  3. Use o caminho kubeconfig do cluster Kubernetes para substituir KUBERNETES_CLUSTER_KUBECONFIG nestas instruções.

Para receber as autorizações necessárias para gerir instantâneos de volumes, peça ao administrador de IAM da organização que lhe conceda a função de administrador do espaço de nomes (namespace-admin) no espaço de nomes do projeto.

Tire um instantâneo de volume

Para tirar uma captura de ecrã de um objeto PersistentVolumeClaim, crie um objeto VolumeSnapshot. O sistema não garante a consistência dos dados. Pausar a aplicação e limpar os dados antes de tirar um instantâneo.

  1. Crie um recurso personalizado VolumeSnapshot:

    kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
        --namespace NAMESPACE apply -f - <<EOF
    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
      name: VOLUME_SNAPSHOT_NAME
    spec:
      source:
        persistentVolumeClaimName: PVC_NAME
    EOF
    

    Substitua o seguinte:

    • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster.

    • NAMESPACE: o espaço de nomes do projeto no qual criar a cópia instantânea do volume.

    • VOLUME_SNAPSHOT_NAME: o nome do objeto VolumeSnapshot.

    • PVC_NAME: o nome do PVC para o qual está a criar uma captura de ecrã.

  2. A operação de instantâneo está concluída quando o campo .status.readyToUse passa a true. Pode usar o seguinte comando para verificar o estado:

      kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \
        -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'
    
  3. Atualize o manifesto de PVC com a cópia instantânea do volume especificada como uma origem de dados:

    kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
        --namespace NAMESPACE apply -f - <<EOF
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: PVC_NAME
    spec:
      dataSource:
        name: VOLUME_SNAPSHOT_NAME
        kind: VolumeSnapshot
        apiGroup: snapshot.storage.k8s.io
      storageClassName: standard-rwo
      accessModes:
        - ReadWriteOnce
    resources:
      requests:
        storage: 10Gi
    EOF
    

    Substitua o seguinte:

    • KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster.

    • NAMESPACE: o espaço de nomes no qual o recurso PVC existe.

    • PVC_NAME: o nome do PVC para o qual está a criar uma captura de ecrã.

    • VOLUME_SNAPSHOT_NAME: o nome da cópia instantânea do volume.

O que se segue?