En este documento, se muestra cómo crear recursos de volumen en tu clúster de Google Kubernetes Engine (GKE).
Para administrar cómo las 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 implementaciones. 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 manera coherente.
Este documento está destinado 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 Google Cloud el contenido, 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 Crear una implementación.
En este ejemplo:
- El campo
metadata: nameespecifica una implementación llamadavolumes-example-deployment. - La especificación de la plantilla de pod incluye un
volumescampo que describe un volumen emptyDir llamadocache-volume. - La especificación del contenedor incluye un campo
volumeMounts:que especifica que el volumen llamadocache-volumeestá activado en la ruta de acceso/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?
- Obtén información sobre PersistentVolumes, PersistentVolumeClaims y el aprovisionamiento de almacenamiento dinámico.
- Obtén más información sobre cómo usar el controlador de CSI de disco persistente de Compute Engine.