Crea volúmenes


En esta página, se explica cómo crear recursos de volumen en tu clúster. Para obtener más detalles, consulta la documentación de Kubernetes sobre Kubernetes.

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.

En este ejemplo, se ilustra lo siguiente:

  • 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 está activado en la ruta de acceso del archivo /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)

Para obtener más información sobre cómo crear objetos Deployment, consulta la página sobre cómo crearlos.

¿Qué sigue?