Nesta página, explicamos como criar e gerenciar o armazenamento permanente para cargas de trabalho de contêineres no seu universo soberano isolado do Google Distributed Cloud (GDC). O armazenamento permanente fornece ao aplicativo identidades consistentes e nomes de host estáveis, independente de onde as cargas de trabalho são programadas.
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 criar um volume permanente, 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 volume permanente
As instruções a seguir mostram como criar um volume usando o
GDC standard-rwo
StorageClass
. Para mais informações
sobre os recursos StorageClass
disponíveis no GDC, consulte
Armazenamento permanente para contêineres.
Crie um
PersistentVolumeClaim
e configure-o com um modo de acessoReadWriteOnce
e 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 EOF
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster.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 KUBERNETES_CLUSTER_KUBECONFIG
O resultado será assim:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60s
Configure suas cargas de trabalho de contêiner para usar o PVC. Confira a seguir um exemplo de pod
nginx
que usa um PVCstandard-rwo
:kubectl --kubeconfig KUBERNETES_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 EOF
Substitua
PVC_NAME
pelo PVC criado.
Expandir a capacidade de 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 aceito é 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 EOF
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG
: o arquivo kubeconfig do cluster.NAMESPACE
: o namespace do projeto em que o recurso PVC existe.PVC_NAME
: o nome do PVC para o qual você está aumentando o tamanho do armazenamento.VOLUME_SNAPSHOT_SIZE
: a quantidade de armazenamento a ser aumentada, 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