Kubernetes - Déploiement de container avec stockage NFS

From Cloud Avenue
Jump to navigation Jump to search

1- Definition d'un "Persistant Volume"; dans cet ex. de 5Gi, par le fichier yaml suivant:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-vol1
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  nfs:
    # NFS node IP
    server: 192.168.63.4
    path: "/export/vol1"
Terminal.png Terminal


2 - Definition du "Persistent Volume Claim" associé:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 5Gi
Terminal.png Terminal


Maintenant, voici un exemple de déploiement pour tester le stockage NFS:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nfs-busybox
spec:
  replicas: 2
  selector:
    name: nfs-busybox
  template:
    metadata:
      labels:
        name: nfs-busybox
    spec:
      containers:
      - image: busybox
        command:
          - sh
          - -c
          - 'while true; do date > /mnt/index.html; hostname >> /mnt/index.html; sleep $(($RANDOM % 5 + 5)); done'
        imagePullPolicy: IfNotPresent
        name: busybox
        volumeMounts:
          # name must match the volume name below
          - name: nfs
            mountPath: "/mnt"
      volumes:
        - name: nfs
          persistentVolumeClaim:
            claimName: nfs-pvc

où le volume "nfs" est associé au Persistent Volume "nfs-vol1" via le Volume Claim "nfs-pvc"

un Volume Claim ne peut être utilisé que par un volume à la fois

une fois le Volume Claim libéré, les données restent sur le Persistent Volume (effacement manuel requis => à tester / confirmer)


3- Déploiement et test des busybox pour test stockage NFS:

Terminal.png Terminal


Le fichier index.html est bien mis à jour par les deux instances déployées.

Références

Installer et configurer kubectl

Installer le Kubernetes Dashboard

Page du projet Dashboard

NFS Node Management



Liens rapides : Revenir en haut de la page Bouton CDS NGP.png Bouton FAQ.png Bouton FP.png Bouton Accueil.png Bouton contact wiki.jpg