Outils pour utilisateurs

Outils du site


informatique:kebernetes:kube_storage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:kebernetes:kube_storage [2023/12/13 07:55]
benoit [Créer un volume Peristant]
informatique:kebernetes:kube_storage [2023/12/13 09:14] (Version actuelle)
benoit [Lancer un POD qui réclame le volume]
Ligne 2: Ligne 2:
  
  
-===== Créer un volume ​Peristant ​=====+===== Créer un volume ​Persistant ​=====
  
 Sur le node créer le répertoire pour y stocker des données :  Sur le node créer le répertoire pour y stocker des données : 
Ligne 21: Ligne 21:
       type: local       type: local
   spec:   spec:
-    storageClassName:​ manual+    ​#storageClassName:​ manual
     capacity:     capacity:
       storage: 1Gi       storage: 1Gi
Ligne 31: Ligne 31:
 Explication :  Explication : 
   * **metadata.name** : Définir nom du volume.   * **metadata.name** : Définir nom du volume.
-  * **metadata.type**:​ Indiquer le typeIci on utilise le disque local du node.+  * **metadata.labels.type**: Indiquer le type de stockage ​Ici on utilise le disque local du node. 
 +  * **spec.capacity.storage**:​ Indiquer la capacité allouée. 
 +  * **spec.capacity.accessModes**:​ Indiquer si l'​accès est lecture seule ou écriture. 
 +  * **spec.capacity.hostPath**:​ Indiquer le chemin d'​accès au données sur le node. 
 + 
 +Appliquer le manifeste :  
 +  kubectl apply -f create_PersistentVol.yml  ​
  
 Pour lister les volumes Persistants :  Pour lister les volumes Persistants : 
   kubectl get persistentvolumes   kubectl get persistentvolumes
 +  kubectl get pv
 +
 +===== Créer une réclamation de volume Persistant =====
  
 Un pod ne peut pas utiliser directement un volume. Il faut créer un objet de réclamation de volume en lien avec le volume pour qu'il puisse être utilisé par un POD. Un pod ne peut pas utiliser directement un volume. Il faut créer un objet de réclamation de volume en lien avec le volume pour qu'il puisse être utilisé par un POD.
Ligne 47: Ligne 56:
     name: pv-claim-01     name: pv-claim-01
   spec:   spec:
-    storageClassName:​ manual+    ​#storageClassName:​ manual
     accessModes:​     accessModes:​
       - ReadWriteOnce       - ReadWriteOnce
Ligne 55: Ligne 64:
     volumeName: pv-volume-01     volumeName: pv-volume-01
  
 +Explication : 
 +  * **metadata.name**:​ Nom de l'​objet.
 +  * **spec.accessModes**:​ Indiquer si la réclamation peut se faire en lecture ou en écriture.
 +  * **spec.resources.requests.storage**:​ Indiquer l'​espace qui doit être réclamé.
 +  * **spec.volumeName**:​ Indiquer le nom du volume à utiliser pour la réclamation.
  
 +Appliquer le manifeste : 
 +  kubectl apply -f create_PersistentVolClaim.yml
  
 +Pour lister les réclamation de volumes Persistants : 
 +  kubectl get persistentvolumeClaims
 +  kubectl get pvc  ​
  
 +===== Lancer un POD qui réclame le volume =====
 +
 +Créer le fichier Manisteste :
 +  vim vim create_pods_persistantVol.yml
 +
 +Insérer les contenu suivant :
 +  apiVersion: v1
 +  kind: Pod
 +  metadata:
 +    name: mydeb-pod
 +  spec:
 +    nodeName: k8s-node
 +    volumes:
 +      - name: pv-storage-01
 +        persistentVolumeClaim:​
 +          claimName: pv-claim-01
 +    containers:
 +      - name: mydeb
 +        image: debian
 +        command: ["​sleep"​]
 +        args: ["​infinity"​]
 +        ports:
 +          - containerPort:​ 80
 +        volumeMounts:​
 +          - mountPath: "/​var/​www/​html"​
 +            name: pv-storage-01
 +
 +Explication : 
 +  * **spec.nodeName**:​ Si les données sont sur un node spécifique,​ on peut indiquer ici le node sur lequel sera affecté le pod.
 +  * **spec.volumes.name** : Définir un nom stockage qui servira de référence pour assigner le volume aux conteneurs.
 +  * **spec.volumes.persistentVolumeClaim.claimName**:​ Indiquer le nom de la réclamation de volume. Créé plus haut.
 +  * **spec.containers.volumeMounts.mountPath**:​ Indiquer le point de montage du volume dans le conteneur.
 +  * **spec.containers.volumeMounts.name**:​ Indiquer le nom du stockage à utiliser. Doit correspondre avec **spec.volumes.name**
  
 +Appliquer le manifeste : 
 +  kubectl apply -f create_pods_persistantVol.yml
informatique/kebernetes/kube_storage.1702450530.txt.gz · Dernière modification: 2023/12/13 07:55 par benoit