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édentesRévision précédente
Prochaine révision
Révision précédente
informatique:kebernetes:kube_storage [2023/12/11 13:07] – benoitinformatique:kebernetes:kube_storage [2023/12/13 08:14] (Version actuelle) – [Lancer un POD qui réclame le volume] benoit
Ligne 2: Ligne 2:
  
  
-===== Créer un volume Peristant =====+===== Créer un volume Persistant =====
  
-Créer le répertoire : +Sur le node créer le répertoire pour y stocker des données : 
  
   mkdir /mnt/data   mkdir /mnt/data
  
-Créer le fichier manisfeste : +Sur le master créer le fichier manisfeste : 
  
   vim create_PersistentVol.yml     vim create_PersistentVol.yml  
Ligne 21: Ligne 21:
       type: local       type: local
   spec:   spec:
-    storageClassName: manual+    #storageClassName: manual
     capacity:     capacity:
       storage: 1Gi       storage: 1Gi
Ligne 29: Ligne 29:
       path: "/mnt/data"       path: "/mnt/data"
  
 +Explication : 
 +  * **metadata.name** : Définir nom du volume.
 +  * **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 : 
 +  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.
 +
 +Créer le fichier manisfeste suivant : 
 +  vim create_PersistentVolClaim.yml
 +
 +Insérer le contenu suivant : 
 +  apiVersion: v1
 +  kind: PersistentVolumeClaim
 +  metadata:
 +    name: pv-claim-01
 +  spec:
 +    #storageClassName: manual
 +    accessModes:
 +      - ReadWriteOnce
 +    resources:
 +      requests:
 +        storage: 500Mi
 +    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.1702300043.txt.gz · Dernière modification : de benoit