O armazenamento permanente no Google Distributed Cloud (GDC) com isolamento físico permite preservar
dados de contêineres independentemente dos ciclos de vida dos pods. É 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. 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 acessar o armazenamento permanente. 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 volumes permanentes em um cluster compartilhado, peça
ao administrador do IAM do projeto 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 volumes permanentes 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 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 recurso
PersistentVolumeClaim(PVC) e configure-o com um modo de acessoReadWriteOncee uma classe de armazenamentostandard-rwo:kubectl --kubeconfig KUBERNETES_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:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster.NAMESPACE: o namespace em que o PVC será criado. Para clusters compartilhados, precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.PVC_NAME: o nome do objetoPersistentVolumeClaim.
Confirme se o objeto PVC está disponível:
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACEO resultado será o seguinte:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 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 KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: 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 KUBERNETES_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:
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 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 KUBERNETES_CLUSTER_KUBECONFIG
A seguir
- Visão geral das cargas de trabalho de contêiner
- Criar cargas de trabalho com estado
- Criar snapshots de volume