informatique:kebernetes:kube_storage
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| informatique:kebernetes:kube_storage [2023/12/11 13:02] – créée benoit | informatique: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: | ||
| + | # | ||
| + | capacity: | ||
| + | storage: 1Gi | ||
| + | accessModes: | ||
| + | - ReadWriteOnce | ||
| + | hostPath: | ||
| + | path: "/ | ||
| + | |||
| + | Explication : | ||
| + | * **metadata.name** : Définir nom du volume. | ||
| + | * **metadata.labels.type**: | ||
| + | * **spec.capacity.storage**: | ||
| + | * **spec.capacity.accessModes**: | ||
| + | * **spec.capacity.hostPath**: | ||
| + | |||
| + | 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: | ||
| + | # | ||
| + | accessModes: | ||
| + | - ReadWriteOnce | ||
| + | resources: | ||
| + | requests: | ||
| + | storage: 500Mi | ||
| + | volumeName: pv-volume-01 | ||
| + | |||
| + | Explication : | ||
| + | * **metadata.name**: | ||
| + | * **spec.accessModes**: | ||
| + | * **spec.resources.requests.storage**: | ||
| + | * **spec.volumeName**: | ||
| + | |||
| + | 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: [" | ||
| + | args: [" | ||
| + | ports: | ||
| + | - containerPort: | ||
| + | volumeMounts: | ||
| + | - mountPath: "/ | ||
| + | name: pv-storage-01 | ||
| + | |||
| + | Explication : | ||
| + | * **spec.nodeName**: | ||
| + | * **spec.volumes.name** : Définir un nom stockage qui servira de référence pour assigner le volume aux conteneurs. | ||
| + | * **spec.volumes.persistentVolumeClaim.claimName**: | ||
| + | * **spec.containers.volumeMounts.mountPath**: | ||
| + | * **spec.containers.volumeMounts.name**: | ||
| + | |||
| + | Appliquer le manifeste : | ||
| + | kubectl apply -f create_pods_persistantVol.yml | ||
informatique/kebernetes/kube_storage.1702299735.txt.gz · Dernière modification : de benoit
