Créer des volumes Kubernetes

Ce document explique comment créer des ressources de volume dans votre cluster Google Kubernetes Engine (GKE).

Vous pouvez gérer la façon dont vos applications conteneurisées stockent et partagent des données dans un cluster Kubernetes en créant des volumes Kubernetes et en les configurant dans vos déploiements. En créant des volumes Kubernetes, vous pouvez déployer des microservices avec état. Cela augmente également la vitesse de développement, car vous gérez les données d'application de manière cohérente.

Ce document s'adresse aux développeurs et aux administrateurs qui gèrent le stockage des conteneurs GKE. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez Rôles utilisateur et tâches courantes de GKE.

Utiliser des volumes avec des déploiements

Vous pouvez créer un déploiement de pods avec chaque pod contenant un ou plusieurs volumes. Le fichier manifeste de déploiement suivant décrit le déploiement de trois pods avec chacun un volume emptyDir. Pour en savoir plus, consultez Créer un déploiement.

Dans cet exemple :

  • Le champ metadata: name spécifie un déploiement nommé volumes-example-deployment.
  • La spécification de modèle de pod comprend un champ volumes qui décrit un volume emptyDir nommé cache-volume.
  • La spécification du conteneur inclut un champ volumeMounts: qui indique que le volume nommé cache-volume est installé au chemin d'accès /cache.
  • Le fichier manifeste est nommé 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: {}

Pour créer un déploiement à partir de ce fichier manifeste, exécutez la commande suivante :

kubectl apply -f volumes-demo.yaml

Vérifiez que votre déploiement s'exécute correctement et dispose du volume attendu avec cette commande :

kubectl describe pods volumes-example-deployment

Celle-ci imprime des informations à propos de chacun des trois pods du déploiement. Le résultat indique que chaque pod comprend un conteneur, "test-container", avec l'installation /cache :

Mounts:
  /cache from cache-volume (rw)

Le résultat indique également que chaque pod contient un volume nommé cache-volume :

Volumes:
  cache-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)

Étapes suivantes