Ci-dessous, les différences entre deux révisions de la page.
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 08:35] 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 42: | Ligne 42: | ||
kubectl get persistentvolumes | kubectl get persistentvolumes | ||
kubectl get pv | 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 75: | Ligne 77: | ||
kubectl get pvc | 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 |