Creazione di volumi Kubernetes

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: name specifica un deployment denominato volumes-example-deployment.
  • La specifica del modello di pod include un volumes campo che descrive un volume emptyDir denominato cache-volume.
  • La specifica del container include un campo volumeMounts: che specifica che il volume denominato cache-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