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:30] 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 35: | Ligne 35: | ||
| * **spec.capacity.accessModes**: Indiquer si l'accès est lecture seule ou écriture. | * **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. | * **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 64: | Ligne 70: | ||
| * **spec.volumeName**: Indiquer le nom du volume à utiliser pour la réclamation. | * **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 | ||