Créer des volumes Kubernetes

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

Vous gérez 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 accélère également le développement, car vous gérez les données d'application de manière cohérente.

Ce document est destiné aux développeurs et aux administrateurs qui gèrent le stockage de conteneurs GKE. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans Google Cloud le contenu, 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 plus d'informations, consultez la rubrique 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 volumes champ qui décrit un volume emptyDir nommé cache-volume.
  • La spécification de conteneur comprend un champ volumeMounts: qui spécifie que le volume nommé cache-volume est installé sur le 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)

Étape suivante