Este documento mostra como criar recursos de volume no cluster do Google Kubernetes Engine (GKE).
Você gerencia como os aplicativos conteinerizados armazenam e compartilham dados em um cluster do Kubernetes criando volumes do Kubernetes e configurando-os nas implantações. Ao criar volumes do Kubernetes, é possível implantar microsserviços com estado. Isso também aumenta a velocidade de desenvolvimento, já que você gerencia os dados do aplicativo de maneira consistente.
Este documento é destinado a desenvolvedores e administradores que gerenciam o armazenamento de contêineres do GKE. Para saber mais sobre as funções comuns e os exemplos de tarefas mencionados no Google Cloud conteúdo, consulte Funções e tarefas comuns do usuário do GKE.
Como usar volumes com implantações
É possível criar uma implantação de pods, em que cada pod contém um ou mais volumes. No manifesto de implantação a seguir, é descrita uma implantação de três pods cada um com um volume emptyDir. Para saber mais informações, consulte Como criar uma implantação.
Neste exemplo:
- O campo
metadata: nameespecifica uma implantação chamadavolumes-example-deployment. - Na especificação do modelo de pod há um
volumescampo em que é descrito um volume emptyDir chamadocache-volume. - A especificação do contêiner inclui um campo
volumeMounts:que especifica que o volume denominadocache-volumeestá ativado no caminho/cache. - O arquivo de manifesto é chamado de
volumes-demo.yaml.
apiVersion: apps/v1
kind: Deployment
metadata:
name: volumes-example-deployment
spec:
replicas: 3
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: test-container
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}
Para criar uma implantação com base nesse arquivo de manifesto, execute o comando a seguir:
kubectl apply -f volumes-demo.yaml
Para verificar se sua implantação está em execução corretamente e se tem o volume esperado, execute este comando:
kubectl describe pods volumes-example-deployment
Ele imprime informações sobre cada um dos três pods na implantação. A saída mostra que cada pod tem um contêiner, test-container, com a ativação /cache:
Mounts:
/cache from cache-volume (rw)
A saída também mostra que em cada pod há um volume chamado cache-volume:
Volumes:
cache-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
A seguir
- Saiba mais sobre PersistentVolumes, PersistentVolumeClaims e provisionamento de armazenamento dinâmico.
- Saiba como usar o Driver CSI de disco permanente do Compute Engine.