Volumes

Cette page fournit un aperçu des volumes dans Kubernetes et de leur utilisation avec Google Kubernetes Engine.

Aperçu

Les fichiers sur disque dans un conteneur sont l'endroit le plus simple où un application peut écrire des données, mais cette approche présente des inconvénients. Les fichiers sont perdus lorsque le conteneur se bloque ou s'arrête pour toute autre raison. De plus, les fichiers d'un conteneur sont inaccessibles pour les autres conteneurs s'exécutant dans le même pod. L'abstraction du volume Kubernetes répond à ces deux problèmes.

Conceptuellement, un volume est un annuaire accessible à tous les conteneurs d'un pod. La source du volume déclaré dans la spécification du pod détermine le mode de création de l'annuaire, le support de stockage utilisé et le contenu initial de l'annuaire. Un pod spécifie les volumes qu'il contient et le chemin d'accès où les conteneurs montent le volume.

Les types de volume éphémère ont la même durée de vie que les pods qui les entourent. Ces volumes sont créés lors de la création du pod et ils persistent lors des redémarrages du conteneur. Lorsque le pod se termine ou s'il est supprimé, il en va de même pour ses volumes.

Les autres types de volume sont des interfaces pour le stockage durable qui existent indépendamment d'un pod. Contrairement aux volumes éphémères, les données d'un volume sauvegardé par un stockage durable sont préservées lorsque le pod est supprimé. Le volume est simplement démonté et les données peuvent être transférées à un autre pod. Vous devez utiliser les ressources PersistentVolume pour gérer le cycle de vie des types de stockage durable, plutôt que de les spécifier directement.

Types de volumes

Les volumes diffèrent par leur implémentation de stockage et leur contenu initial. Vous pouvez choisir la source de volume qui convient le mieux à votre cas d'utilisation. Plusieurs sources de volume courantes sont décrites ci-dessous :

emptyDir
Un type de volume éphémère qui fournit un annuaire vide que les conteneurs du pod peuvent lire et dans lesquels ils peuvent écrire. Lorsque le pod est supprimé d'un nœud pour une raison quelconque, les données de emptyDir sont définitivement supprimées. Les volumes emptyDirs sont utiles pour l'espace de travail et le partage de données entre plusieurs conteneurs d'un pod.
configMap
Permet de rendre les données de configuration accessibles aux applications. Les fichiers d'un volume configMap sont spécifiés par une ressource ConfigMap.
secret
Permet de rendre des données sensibles, telles que des mots de passe, des jetons OAuth et des clés SSH, disponibles pour les applications.
downwardAPI
Permet de rendre les données de l'API Downward disponibles pour les applications. Ces données incluent des informations sur le pod et le conteneur dans lesquels une application s'exécute. Par exemple, un pod peut être configuré pour exposer un fichier DownwardAPIVolumeFile à des applications comprenant l'espace de noms et l'adresse IP du pod.
persistentVolumeClaim
Les opérateurs de cluster peuvent mettre à disposition des applications un stockage durable. Un pod utilise un volume PersistentVolumeClaim pour monter un volume sauvegardé par ce stockage durable.

Pour une liste complète des types de volume, reportez-vous à la documentation sur les volumes Kubernetes.

Étape suivante

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Kubernetes Engine