9_Volumes
Les volumes
Inconnu : « Oui, mais tu nous parles de pod avec Nginx, et pour l’instant, on ne voit que la page d’accueil par défaut. »
Rohba : « Effectivement, Billy, on y arrive. »
Dans tout ce que nous avons vu jusqu’à présent, il n’y a pas eu de modification du serveur web.
Pour le moment, je ne parlerai pas des volumes permanents ; cela viendra dans un deuxième temps.
Voici le manifest que je vous partage :
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx_lab
template:
metadata:
labels:
app: nginx_lab
spec:
containers:
- image: nginx:latest
name: container-nginx
volumeMounts:
- name: my-volume
mountPath: /usr/share/nginx/html
volumes:
- name: my-volume
hostPath:
path: /mnt/web_server
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx_lab
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30080
type: NodePort
J’ai modifié le premier manifest que je vous avais donné (plus haut) afin d’ajouter un montage de volume vers un chemin spécifique.
Un point important : le piège dans lequel je suis tombé est que le chemin de l’hôte est créé sur le worker, et non sur le CPN (Control Plane Node).
Ainsi, nous montons le dossier /mnt/web_server, qui correspond au répertoire /usr/share/nginx/html, le root folder du serveur web Nginx dans ce conteneur.
Billy : « Pourquoi faire ? »
Rohba : « Avec un peu de bon sens, pour le test, je vais modifier la page
index.htmlafin d’afficher un joli Rohba. »
Billy : « Bah… Ça sert à rien. »
J’applique donc mon manifest :
kubectl apply -f nginx_volume.yml
Cela crée correctement mon pod :
rohba@master1:~$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deployment-5978dc9bdf-wxp2q 1/1 Running 0 16s 192.168.251.136 worker3.rohba.local <none> <none>
Voici les deux tests que nous allons effectuer :
-
Créer un fichier
toto.htmldans le conteneur qui affiche Hello world. Rohba : « Je prends les devants, rien de plus classique qu’un petit Hello world, n’est-ce pas Billy ? » Billy : « Nianiania. » -
Créer un fichier
index.htmldans le dossier/mnt/web_serverpour afficher Rohba, comme mentionné plus haut.
Rohba : « Je prends les devants, rien de plus classique qu’un petit Hello world, n’est-ce pas, Billy ? »
Billy : « Nianiania. »
Et le second : Créer dans notre dossier /mnt/web_server un fichier index.html pour afficher "Rohba" comme sité plus haut.