Creazione di volumi Kubernetes

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: name specifica un deployment denominato volumes-example-deployment.
  • La specifica Modello di pod include un campo volumes 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 è 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