Questo documento mostra come creare risorse Volume nel cluster Google Kubernetes Engine (GKE).
Puoi gestire la modalità di archiviazione e condivisione dei dati delle applicazioni containerizzate in un cluster Kubernetes creando volumi Kubernetes e configurandoli all'interno dei deployment. Creando volumi Kubernetes, puoi eseguire il deployment di microservizi stateful. Inoltre, la velocità di sviluppo aumenta perché gestisci i dati delle applicazioni in modo coerente.
Questo documento è rivolto a sviluppatori e amministratori che gestiscono l'archiviazione dei container GKE. Per saperne di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività utente GKE comuni.
Utilizzo dei volumi con i deployment
Puoi creare un deployment di pod in cui ogni pod contiene uno o più volumi. Il seguente manifest di deployment descrive un deployment di tre pod ognuno dei quali ha un volume emptyDir. Per saperne di più, consulta Creazione di un deployment.
In questo esempio:
- Il campo
metadata: namespecifica un deployment denominatovolumes-example-deployment. - La specifica del modello di pod include un
volumescampo che descrive un volume emptyDir denominatocache-volume. - La specifica del container include un campo
volumeMounts:che specifica che il volume denominatocache-volumeè montato nel percorso/cache. - Il file manifest si chiama
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: {}
Per creare un deployment da questo file manifest, esegui questo comando:
kubectl apply -f volumes-demo.yaml
Verifica che il deployment sia in esecuzione correttamente e che abbia il volume previsto con questo comando:
kubectl describe pods volumes-example-deployment
Vengono stampate informazioni su ciascuno dei tre pod nel deployment. L'output mostra che ogni pod ha un container, test-container, con il montaggio /cache:
Mounts:
/cache from cache-volume (rw)
L'output mostra anche che ogni pod contiene un volume denominato cache-volume:
Volumes:
cache-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Passaggi successivi
- Scopri di più su PersistentVolume, PersistentVolumeClaim e sul provisioning dinamico dell'archiviazione.
- Scopri di più sull'utilizzo del driver CSI per il disco permanente di Compute Engine.