Esta página explica como criar e gerir o armazenamento persistente para cargas de trabalho de contentores no seu universo soberano isolado do Google Distributed Cloud (GDC). O armazenamento persistente oferece à sua aplicação identidades consistentes e nomes de anfitriões estáveis, independentemente de onde as respetivas cargas de trabalho são agendadas.
Esta página destina-se a programadores no grupo de operadores de aplicações, que são responsáveis pela criação de cargas de trabalho de aplicações para a respetiva organização. Para mais informações, consulte Públicos-alvo para a documentação do GDC isolado.
Antes de começar
Para concluir as tarefas neste documento, tem de pedir as autorizações necessárias e preparar o seu ambiente.
Peça funções de IAM
Tem de ter funções específicas para receber as autorizações de que precisa para aceder ao armazenamento persistente. As funções necessárias dependem de estar a trabalhar num cluster partilhado com âmbito da organização ou num cluster padrão com âmbito do projeto. Para mais informações, consulte o artigo Configurações de clusters do Kubernetes.
Funções do cluster partilhado
Para criar, eliminar, editar ou ver volumes persistentes num cluster partilhado, peça ao administrador de IAM do projeto para lhe atribuir a função de Administrador do espaço de nomes (namespace-admin). Esta função está associada ao espaço de nomes do seu projeto.
Funções do cluster padrão
Para criar, eliminar, editar ou ver volumes persistentes num cluster padrão, peça ao administrador de IAM do projeto para lhe atribuir a função de Programador do cluster (cluster-developer). Esta função está associada ao espaço de nomes do seu projeto.
Prepare o seu ambiente
Para executar comandos num cluster do Kubernetes através da API, certifique-se de que 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.
Inicie sessão e gere o ficheiro kubeconfig para o cluster do Kubernetes.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Crie um volume persistente
As instruções seguintes mostram como criar um volume com a StorageClass standard-rwo do GDC. Para mais informações
sobre os recursos StorageClass disponíveis no GDC, consulte
o artigo Armazenamento persistente para contentores.
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 o seguinte:
KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster.NAMESPACE: o espaço de nomes no qual criar o PVC. Para clusters partilhados, tem de ser um espaço de nomes do projeto. Para clusters padrão, pode ser qualquer espaço de nomes.PVC_NAME: o nome do objetoPersistentVolumeClaim.
Confirme que o objeto PVC está disponível:
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACEO resultado é semelhante ao seguinte:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60sConfigure as cargas de trabalho de contentores para usarem o PVC. Segue-se um exemplo de um 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 criou.
Expanda 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 do volume suportado é de 14,5 Ti.
Atualize o volume para um tamanho maior no ficheiro 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 o seguinte:
KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster.NAMESPACE: o espaço de nomes no qual o recurso PVC existe. Para clusters partilhados, tem de ser um espaço de nomes do projeto. Para clusters padrão, pode ser qualquer espaço de nomes.PVC_NAME: o nome do PVC para o qual está a aumentar o tamanho do armazenamento.VOLUME_SNAPSHOT_SIZE: o valor do tamanho do armazenamento a aumentar, como50Gi.
Verifique o estado dos PVs atualizados no cluster:
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
O que se segue?
- Vista geral das cargas de trabalho de contentores
- Crie cargas de trabalho com estado
- Crie instantâneos de volumes