Tous les produits
Search
Centre de documentation

Enterprise Distributed Application Service:Configure local storage

Dernière mise à jour :Aug 10, 2026

Le stockage local permet de monter des fichiers ou des répertoires du système de fichiers d’un nœud hôte dans les pods exécutés au sein d’un cluster Kubernetes Enterprise Distributed Application Service (EDAS). Cette fonctionnalité offre aux conteneurs un accès direct au système de fichiers de l’hôte pour des opérations d’E/S à haute vitesse, sans surcharge réseau. Elle s’avère utile pour lire des journaux au niveau de l’hôte, partager des données temporaires entre conteneurs ou accéder à des fichiers de configuration spécifiques au nœud.

Fonctionnement du stockage local

Dans un cluster Container Service for Kubernetes (ACK) géré par EDAS, le stockage local utilise des volumes Kubernetes hostPath pour monter les chemins du système de fichiers de l’hôte dans les conteneurs.

EDAS prend en charge deux types de stockage local :

Type Volume Kubernetes Cas d’utilisation Cycle de vie des données
Local File of Host hostPath Accéder à des fichiers ou répertoires spécifiques sur le nœud hôte, tels que les journaux système ou la configuration au niveau du nœud Les données persistent sur l’hôte indépendamment du cycle de vie du pod
emptyDir emptyDir Partager des données temporaires entre les conteneurs d’un même pod, par exemple un espace de travail temporaire, des caches ou des échanges de données inter-conteneurs Créé au démarrage du pod sur un nœud. Supprimé définitivement lors du retrait du pod du nœud
Important

Les volumes hostPath exposent le système de fichiers de l’hôte aux conteneurs, ce qui présente des risques de sécurité. Un conteneur disposant d’un accès au système de fichiers de l’hôte pourrait lire des identifiants privilégiés (tels que les identifiants kubelet) ou exploiter le socket du runtime de conteneur pour s’échapper du conteneur. Si vous avez besoin d’un stockage persistant, utilisez plutôt un PersistentVolume local. Lorsque vous devez utiliser hostPath, restreignez le montage en lecture seule chaque fois que possible.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un compte EDAS avec accès à la console EDAS

  • Un cluster Kubernetes (ACK) enregistré dans EDAS

  • Un namespace et une région disponibles pour votre application

Ajouter un stockage local à une nouvelle application

  1. Connectez-vous à la console EDAS. Dans le volet de navigation de gauche, choisissez Application Management > Applications.

  2. Dans la barre de navigation supérieure, sélectionnez une région. Dans la partie supérieure de la page, sélectionnez un namespace. Dans le coin supérieur gauche, cliquez sur Create Application.

  3. À l’étape Basic Information, définissez les paramètres suivants et cliquez sur Next.

    Paramètre Description
    Cluster Type Sélectionnez Kubernetes Clusters
    Application Runtime Environment Sélectionnez le runtime correspondant à votre application. Consultez les options de runtime d’application
  4. À l’étape Configurations, configurez les informations d’environnement, les informations de base, la méthode de déploiement et les paramètres de ressources. Cliquez sur Next.

  5. À l’étape Advanced Settings, développez Local Storage et configurez le type de volume :

    • Pour monter un chemin hôte, consultez les paramètres Local File of Host.

    • Pour créer un volume partagé éphémère, consultez les paramètres emptyDir.

  6. Cliquez sur Create Application.

  7. Sur la page Creation Completed, vérifiez les paramètres dans les sections Basic Information, Configurations et Advanced Settings. Cliquez sur Create Application pour confirmer.

  8. Sur la page Application Overview, cliquez sur View Details. Sur la page Change List, surveillez la progression du déploiement. Une fois le changement terminé, vérifiez la section Basic Information sur la page Application Overview. Un pod en cours d’exécution indique un déploiement réussi.

Mettre à jour le stockage local d’une application existante

Important

L’application redémarre après l’enregistrement de ces modifications. Effectuez cette opération pendant les heures creuses.

  1. Connectez-vous à la console EDAS. Dans le volet de navigation de gauche, choisissez Application Management > Applications.

  2. Dans la barre de navigation supérieure, sélectionnez une région. Dans la partie supérieure de la page, sélectionnez un namespace. Dans la liste déroulante Cluster Type, sélectionnez Container Service or Serverless Kubernetes Cluster.

  3. Repérez l’application cible et cliquez sur son nom.

  4. Sur la page Overview ou Basic information, choisissez Deploy > Deploy dans le coin supérieur droit.

  5. Sur la page Select Deployment Mode, sélectionnez un mode de déploiement et cliquez sur Start Deployment.

  6. Configurez l’environnement et le package de déploiement, puis développez Local Storage et définissez les paramètres du volume :

    • Pour monter un chemin hôte, consultez les paramètres Local File of Host.

    • Pour créer un volume partagé éphémère, consultez les paramètres emptyDir.

  7. Cliquez sur OK.

Paramètres du stockage local

Paramètres Local File of Host

L’option Local File of Host correspond à un volume Kubernetes hostPath. Elle monte un fichier ou un répertoire du nœud hôte dans le conteneur.

Le champ type contrôle si Kubernetes valide ou crée le chemin sur l’hôte avant le montage :

Type de fichier Valeur Comportement
Par défaut Chaîne vide Monte le chemin sans validation. Aucune vérification n’est effectuée avant le montage
(Créer) Répertoire de fichiers DirectoryOrCreate Si le chemin n’existe pas, crée un répertoire vide avec les permissions 0755. Le répertoire hérite du groupe et de la propriété du kubelet
Répertoire de fichiers Directory Un répertoire doit déjà exister à l’emplacement spécifié. Le conteneur ne démarre pas si le répertoire n’existe pas
(Créer) Fichier FileOrCreate Si le chemin n’existe pas, crée un fichier vide avec les permissions 0644. Le fichier hérite du groupe et de la propriété du kubelet
Fichier File Un fichier doit déjà exister à l’emplacement spécifié. Le conteneur ne démarre pas si le fichier n’existe pas
Socket Socket Un socket UNIX doit déjà exister à l’emplacement spécifié. Le conteneur ne démarre pas si le socket n’existe pas
CharDevice CharDevice Un périphérique caractère doit déjà exister à l’emplacement spécifié (nœuds Linux uniquement). Le conteneur ne démarre pas si le périphérique n’existe pas
BlockDevice BlockDevice Un périphérique bloc doit déjà exister à l’emplacement spécifié (nœuds Linux uniquement). Le conteneur ne démarre pas si le périphérique n’existe pas
Remarque

FileOrCreate ne crée pas le répertoire parent. Si le répertoire parent du fichier cible n’existe pas, le pod ne démarre pas. Pour éviter ce problème, montez d’abord le répertoire parent en utilisant DirectoryOrCreate, puis montez le fichier.

Paramètres supplémentaires pour Local File of Host :

Paramètre Description
Mount Path Chemin à l’intérieur du conteneur où le fichier ou le répertoire de l’hôte est monté
Host Path Chemin sur le nœud hôte à monter dans le conteneur
Mount Mode Mode d’accès au volume. Valeurs valides : Read/Write et Read-only. Utilisez Read-only chaque fois que possible pour réduire les risques de sécurité
subPathExpr Expression de référence de champ utilisée pour construire un nom de sous-répertoire au sein du volume. Utile pour attribuer à chaque conteneur ou instance de pod son propre répertoire

Paramètres emptyDir

Un volume emptyDir est créé lorsqu’un pod est assigné à un nœud. Tous les conteneurs du pod peuvent lire et écrire dans le même volume emptyDir, ce qui le rend adapté à un espace de travail temporaire, à des caches ou à des échanges de données inter-conteneurs. Lorsque le pod est retiré du nœud pour quelque raison que ce soit (y compris un crash, une réduction d’échelle ou un redéploiement), les données du volume emptyDir sont supprimées définitivement.

Paramètre Description
Mount Mode Mode d’accès au volume. Valeurs valides : Read/Write et Read-only
Mount Path Chemin à l’intérieur du conteneur où le volume emptyDir est monté
subPathExpr Expression de référence de champ utilisée pour construire un nom de sous-répertoire au sein du volume. Utile pour attribuer à chaque conteneur ou instance de pod son propre répertoire

Vérifier la configuration

Une fois le déploiement terminé, vérifiez que le stockage local est correctement configuré à l’aide de l’une des méthodes suivantes :

Check change records

Dans le volet de navigation de gauche de la page des détails de l’application, cliquez sur Change Records. Si la colonne Change Status affiche Success, la configuration du stockage est active.

Vérifier l’état du pod

Sur la page Application Overview, cliquez sur Running Pods (Click View) à côté de Running Status. Dans la section Pod, vérifiez la colonne Status. Un point vert indique que le pod est en cours d’exécution et que la configuration est effective.

Considérations pour la production

Gardez les points suivants à l’esprit lors de l’utilisation du stockage local en production :

  • Sécurité : Les volumes hostPath contournent les limites d’isolation des conteneurs. Restreignez les chemins de montage à la portée minimale requise et utilisez le mode de montage Read-only chaque fois que possible. Évitez de monter des chemins sensibles tels que /, /etc ou /var/run.

  • Planification des pods : Les données hostPath sont liées à un nœud spécifique. Si un pod est replanifié sur un autre nœud, il ne peut pas accéder aux données de l’hôte précédent. Pour les données qui doivent persister lors des changements de nœud, utilisez un PersistentVolume local ou un stockage connecté au réseau.

  • Pression sur le disque : L’utilisation des volumes hostPath n’est pas suivie par la gestion du stockage éphémère de Kubernetes. Surveillez l’utilisation du disque sur les nœuds hôtes pour éviter la pression disque causée par les écritures des conteneurs dans les montages hostPath.

  • Taille emptyDir : Les volumes emptyDir consomment de l’espace disque du nœud (ou de la mémoire s’ils sont sauvegardés par tmpfs). Un seul pod écrivant de grandes quantités de données dans emptyDir peut provoquer une pression disque sur le nœud.

  • Perte de données : Les données emptyDir sont supprimées lorsque le pod est retiré. Ne stockez pas dans les volumes emptyDir des données qui doivent survivre aux redémarrages de pods.

Options de runtime d’application

Sélectionnez l’environnement de runtime en fonction du type de votre application et du format de packaging.

Runtime Option Utiliser lorsque
Java Custom Déploiement avec une image de conteneur personnalisée
Java Java Déploiement d’une application Dubbo ou Spring Boot avec un package JAR. Définissez Java Environment après la sélection
Java Tomcat Déploiement d’une application Dubbo ou Spring avec un package WAR. Définissez Java Environment et Container Version après la sélection
Java EDAS-Container (HSF) Déploiement d’une application High-speed Service Framework (HSF) avec un package WAR ou FatJar. Définissez Java Environment, Pandora Version et Ali-Tomcat Version après la sélection
PHP PHP Exécution d’une application PHP sur Apache HTTP Server
Multilingue Node.js, C++, Go, and Other Languages Déploiement avec une image de conteneur personnalisée