Nesta página, explicamos como criar uma cópia, ou snapshot, de um volume de armazenamento em um momento específico para seu 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.
Esta página é destinada 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 para documentação isolada do GDC.
Antes de começar
Para executar comandos em um cluster do Kubernetes, verifique se você tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma.
Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes se você não tiver um.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIG
nestas instruções.
Para receber as permissões necessárias para gerenciar snapshots de volume, peça ao administrador do IAM da organização para conceder a você o papel de administrador do namespace (namespace-admin
) no namespace do projeto.
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 tirar um instantâneo.
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:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster.NAMESPACE
: o namespace do projeto em que o snapshot de volume será criado.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 será concluída quando o campo
.status.readyToUse
se tornartrue
. Use o comando a seguir 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 EOF
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster.NAMESPACE
: o namespace em que o recurso PVC existe.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