O armazenamento permanente no dispositivo do Google Distributed Cloud (GDC) com isolamento físico permite preservar
os dados do contêiner de maneira independente dos ciclos de vida do pod. É possível reivindicar volumes com recursos PersistentVolumeClaim (PVC) e expandir a capacidade para manter o estado em reinicializações e reprogramações.
Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos que criam cargas de trabalho para a organização.
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
Para criar, excluir, editar ou visualizar volumes permanentes em um cluster do Kubernetes, peça
ao administrador do IAM da organização para conceder a você o papel de administrador de namespace
(namespace-admin). Esse papel está vinculado ao namespace do projeto.
Preparar o ambiente
Para executar comandos no cluster do Kubernetes em bare metal pré-configurado, verifique se você tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte ao administrador da plataforma qual é o nome do cluster.
Faça login e gere o arquivo kubeconfig para o cluster do Kubernetes, se você não tiver um.
Use o caminho do kubeconfig do cluster do Kubernetes para substituir
CLUSTER_KUBECONFIGnestas instruções.
Criar um volume permanente
As instruções a seguir mostram como criar um volume usando o
standard-rwo StorageClass do GDC. Para mais informações
sobre os recursos StorageClass disponíveis no GDC, consulte
Armazenamento permanente para contêineres.
Crie um
PersistentVolumeClaime configure-o com um modo de acessoReadWriteOncee uma classe de armazenamentostandard-rwo:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: standard-rwo EOFSubstitua:
CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes.NAMESPACE: o namespace do projeto em que a PVC será criada.PVC_NAME: o nome do objetoPersistentVolumeClaim.
Os objetos
PersistentVolume(PV) são provisionados dinamicamente. Verifique o status dos novos PVs no cluster do Kubernetes:kubectl get pv --kubeconfig CLUSTER_KUBECONFIGO resultado será o seguinte:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60sConfigure as cargas de trabalho do contêiner para usar o PVC. Veja a seguir um exemplo de pod
nginxque usa um PVCstandard-rwo:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: apps/v1 kind: Pod metadata: name: web-server-deployment labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: data volumes: - name: data persistentVolumeClaim: claimName: PVC_NAME EOFSubstitua
PVC_NAMEpelo PVC que você criou.
Expandir a capacidade do volume
Para aumentar a capacidade de um objeto PersistentVolumeClaim, atualize o campo spec.resources.storage para a nova capacidade. O tamanho máximo de volume
compatível é de 14,5 Ti.
Atualize o volume para um tamanho maior no arquivo de manifesto do objeto
PersistentVolumeClaim:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: accessModes: - ReadWriteOnce resources: requests: storage: VOLUME_STORAGE_SIZE EOFSubstitua:
CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster do Kubernetes.NAMESPACE: o namespace do projeto em que o recurso de PVC existe.PVC_NAME: o nome do PVC em que você está aumentando o tamanho do armazenamento.VOLUME_SNAPSHOT_SIZE: o tamanho do armazenamento a ser aumentado, como50Gi.
Verifique o status dos PVs atualizados no cluster:
kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
A seguir
- Visão geral das cargas de trabalho de contêiner
- Criar cargas de trabalho com estado
- Criar snapshots de volume