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

Prochaine révision
Révision précédente
informatique:kebernetes:kube_storage [2023/12/11 13:02] – créée 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 Persistant =====
  
 +Sur le node créer le répertoire pour y stocker des données : 
 +
 +  mkdir /mnt/data
 +
 +Sur le master créer le fichier manisfeste : 
 +
 +  vim create_PersistentVol.yml  
 +
 +Insérer le contenu suivant : 
 +  
 +  apiVersion: v1
 +  kind: PersistentVolume
 +  metadata:
 +    name: pv-volume-01
 +    labels:
 +      type: local
 +  spec:
 +    #storageClassName: manual
 +    capacity:
 +      storage: 1Gi
 +    accessModes:
 +      - ReadWriteOnce
 +    hostPath:
 +      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.1702299735.txt.gz · Dernière modification : de benoit