Questo documento mostra come creare risorse Volume nel cluster Google Kubernetes Engine (GKE).
Per gestire il modo in cui le applicazioni containerizzate archiviano e condividono i dati in un cluster Kubernetes, crea volumi Kubernetes e configurali all'interno dei deployment. Creando volumi Kubernetes, puoi eseguire il deployment di microservizi stateful. In questo modo, aumenta anche la velocità di sviluppo, poiché i dati delle applicazioni vengono gestiti in modo coerente.
Questo documento è rivolto a sviluppatori e amministratori che gestiscono l'archiviazione dei container GKE. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Cloud de Confiance by S3NS , consulta Ruoli utente e attività comuni di GKE.
Utilizzo dei volumi con i deployment
Puoi creare un deployment di pod in cui ogni pod contiene uno o più volumi. Il seguente manifest del deployment descrive un deployment di tre pod che hanno ciascuno 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 Modello di pod include un campo
volumesche 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 è denominato
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 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 dello spazio di archiviazione.
- Scopri di più sull'utilizzo del driver CSI per il disco permanente di Compute Engine.