Como criar volumes do Kubernetes

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: name especifica uma implantação chamada volumes-example-deployment.
  • Na especificação do modelo de pod há um volumes campo em que é descrito um volume emptyDir chamado cache-volume.
  • A especificação do contêiner inclui um campo volumeMounts: que especifica que o volume denominado cache-volume está 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