Lab6 Volumes Solutions
Producteur
Créer un pvc web et un pv web qui pointe sur un volume web de type nfs pour créer un fichier index.html
Création du pv nfs
vi nfs-pv.ymlapiVersion: v1kind: PersistentVolumemetadata: name: nfs-pvspec: capacity: storage: 1Gi accessModes: - ReadWriteMany nfs: path: /home/shares/user12 server: 192.168.1.5Création du pvc nfs
vi nfs-pvc.ymlapiVersion: v1kind: PersistentVolumeClaimmetadata: name: nfs-pvcspec: accessModes: - ReadWriteMany resources: requests: storage: 1GiCréer un daemonSet nommé web basé sur l’image alpine
vi ds-nfs.ymlapiVersion: apps/v1kind: DaemonSetmetadata: name: web-dsspec: selector: matchLabels: app: web-ds template: metadata: labels: app: web-ds spec: containers: - name: daemon image: alpine:3.12 command: ["/bin/sh"] args: ["-c","while true; do echo `hostname` `date` >> /mnt/index.html ; sleep 60 ;done"] volumeMounts: - name: data mountPath: /mnt volumes: - name: data persistentVolumeClaim: claimName: nfs-pvcConsommateur
Créer un déploiement nommé web basé sur l’image httpd
vi deploy-nfs.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: web-deployspec: replicas: 4 selector: matchLabels: app: web-deploy template: metadata: labels: app: web-deploy spec: containers: - name: nginx image: nginx:1.17-alpine ports: - containerPort: 80 volumeMounts: - name: data mountPath: /usr/share/nginx/html volumes: - name: data persistentVolumeClaim: claimName: nfs-pvc readOnly: trueService NodePort
Créer un service nommé web de type NodePort qui rassemble les pods du DaemonSet web
vi service-nfs.ymlapiVersion: v1kind: Servicemetadata: name: web-svcspec: selector: app: web-deploy type: NodePort ports: - port: 80 targetPort: 80 nodePort: 30001Appliquer les spécifications
kubectl apply -f .Test
Depuis le poste de travail, exécuter la commande “curl node1:30001”
curl host111:30001