Cómo crear volúmenes de Kubernetes

En este documento, se muestra cómo crear recursos de volumen en tu clúster de Google Kubernetes Engine (GKE).

Para administrar cómo tus aplicaciones alojadas en contenedores almacenan y comparten datos en un clúster de Kubernetes, crea volúmenes de Kubernetes y configúralos dentro de tus objetos Deployment. Si creas volúmenes de Kubernetes, puedes implementar microservicios con estado. Esto también aumenta la velocidad de desarrollo, ya que administras los datos de la aplicación de forma coherente.

Este documento está dirigido a desarrolladores y administradores que administran el almacenamiento de contenedores de GKE. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas comunes del usuario de GKE.

Usa volúmenes con las implementaciones

Puedes crear un objeto Deployment de Pods en el que cada Pod contenga uno o más volúmenes. En el manifiesto de Deployment siguiente, se describe un Deployment de tres pods en la que cada uno tiene un volumen emptyDir. Para obtener más información, consulta Crea una implementación.

En este ejemplo:

  • El campo metadata: name especifica una implementación llamada volumes-example-deployment.
  • La especificación de la plantilla de pod incluye un campo volumes que describe un volumen emptyDir llamado cache-volume.
  • La especificación del contenedor incluye un campo volumeMounts: que especifica que el volumen llamado cache-volume se activa en la ruta /cache.
  • El archivo de manifiesto se llama 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 crear un objeto Deployment desde este archivo de manifiesto, ejecuta el siguiente comando:

kubectl apply -f volumes-demo.yaml

Verifica con este comando que tu objeto Deployment se esté ejecutando de forma correcta y que tenga el volumen esperado:

kubectl describe pods volumes-example-deployment

Esto imprime información sobre cada uno de los tres pods en el Deployment. El resultado muestra que cada pod tiene un contenedor, test-container, con la activación /cache de la siguiente manera:

Mounts:
  /cache from cache-volume (rw)

El resultado también muestra que cada pod contiene un volumen llamado cache-volume como se presenta a continuación:

Volumes:
  cache-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)

¿Qué sigue?