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:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma qual é o nome do cluster.
Inicie sessão e gere o ficheiro kubeconfig para o cluster Kubernetes, se não tiver um.
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.
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 objetoVolumeSnapshot
.PVC_NAME
: o nome do PVC para o qual está a criar uma captura de ecrã.
A operação de instantâneo está concluída quando o campo
.status.readyToUse
passa atrue
. 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'
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?
- Vista geral das cargas de trabalho de contentores
- Crie cargas de trabalho com estado
- Aceda ao armazenamento persistente