Prenez le cas d’un Persistent Volume
créé grâce à un Persistent Volume Claim
, et que le(s) pod(s) qui l’utilise ne puisse pas démarrer mais que vous devez accéder aux fichiers stoqué afin de déboguer un problème, voici comment procéder.
Cet article sera très court car il ne fait que présenter le fichier YAML à utiliser avec la commande kubectl
de Kubernetes afin de créer le Pod
qui vous permettra d’accéder aux fichiers.
Disons que le PV que vous devez accéder ai été créé par un PVC nommé mysql-data-0
, et que vous désirez monter les fichiers dans le dossier /var/lib/mysql
, voici le fichier YAML necessaire:
Le partie la plus intéressante est à la fin du fichier.
spec.volumes[0].name
determine le nom du volume utilisable dans le Pod
, puis spec.volumes[0].persistentVolumeClaim.claimName
permet de cibler le PVC par son nom.
Ensuite, dans le container, le volume sera monté grâce à spec.containers[0].volumeMounts[0]
qui séléctionne le volume par son nom (spec.volumes[0].name
) et le monte dans le chemin définie par spec.containers[0].volumeMounts[0].mountPath
.
Créez ce Pod
avec kubectl create -f chemin/vers/le/fichier.yaml
, et une fois le Pod
prêt (watch -n 1 kubectl get pods
pour surveiller quand le Pod
est prêt), accédez-y avec la command kubectl exec -it mysql-debug -- bash
.
Voilà, vous avez accés aux fichiers contenus dans le volume.