Neste documento, explicamos como criar uma cópia ou um snapshot de um volume de armazenamento em um momento específico para o aplicativo de contêiner. Com um snapshot de volume, é possível trazer um volume de volta a um estado anterior ou provisionar um novo volume.
Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos, que são responsáveis por criar cargas de trabalho de aplicativos para a organização. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Para concluir as tarefas neste documento, solicite as permissões necessárias e prepare seu ambiente.
Solicitar papéis do IAM
É preciso ter papéis específicos para receber as permissões necessárias para criar snapshots de volume. Os papéis necessários dependem de você estar trabalhando em um cluster compartilhado com escopo de organização ou em um cluster padrão com escopo de projeto. Para mais informações, consulte Configurações de cluster do Kubernetes.
Papéis de cluster compartilhados
Para criar, excluir, editar ou visualizar snapshots de volume em um cluster compartilhado, peça ao
administrador do projeto do IAM para conceder a você o papel de administrador de namespace (namespace-admin).
Esse papel está vinculado ao namespace do projeto.
Papéis de cluster padrão
Para criar, excluir, editar ou visualizar snapshots de volume em um cluster padrão, peça
ao administrador do projeto do IAM para conceder a você o papel de Desenvolvedor de cluster
(cluster-developer). Esse papel está vinculado ao namespace do projeto.
Preparar o ambiente
Para executar comandos em um cluster do Kubernetes usando a API, verifique se você tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte a um membro do grupo de administradores da plataforma qual é o nome do cluster.
Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes.
Use o caminho do kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Criar um snapshot de volume
Para criar um snapshot de um objeto PersistentVolumeClaim, crie um objeto VolumeSnapshot. O sistema não garante a consistência dos dados. Pause
o aplicativo e limpe os dados antes de criar um snapshot.
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 EOFSubstitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.NAMESPACE: o namespace em que o snapshot de volume será criado. Para clusters compartilhados, precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.VOLUME_SNAPSHOT_NAME: o nome do objetoVolumeSnapshot.PVC_NAME: o nome do PVC para o qual você está criando um snapshot.
A operação de snapshot é concluída quando o campo
.status.readyToUsese tornatrue. Use o seguinte comando para verificar o status:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'Atualize o manifesto do PVC com o snapshot de volume especificado como uma fonte 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 EOFSubstitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.NAMESPACE: o namespace em que o recurso de PVC existe. Para clusters compartilhados, precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.PVC_NAME: o nome do PVC para o qual você está criando um snapshot.VOLUME_SNAPSHOT_NAME: o nome do snapshot de volume.
A seguir
- Visão geral das cargas de trabalho de contêiner
- Criar cargas de trabalho com estado
- Acessar o armazenamento permanente