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: namespécifie un déploiement nommévolumes-example-deployment. - La spécification de modèle de pod comprend un
volumeschamp 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-volumeest 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
- Apprenez-en plus sur PersistentVolumes, PersistentVolumeClaims et le provisionnement de stockage dynamique.
- Découvrez comment utiliser le pilote CSI de disque persistant Compute Engine.