Que signifie l’erreur “cannot delete Pods with local storage”?

Lors de mises à jour de cluster ou le retrait d’un noeud, il se peut que l’on tombe sur l’erreur “**cannot delete Pods with local storage”.

$ kubectl drain node-1 –ignore-daemonsets

error: cannot delete Pods with local storage (use –delete-emp…


This content originally appeared on DEV Community and was authored by Maxime Guilbert

Lors de mises à jour de cluster ou le retrait d'un noeud, il se peut que l'on tombe sur l'erreur "**cannot delete Pods with local storage".

$ kubectl drain node-1 --ignore-daemonsets
...
error: cannot delete Pods with local storage (use --delete-emptydir-data to override):

La solution est simple et est notée dans le log d'erreur. Il suffit d'ajouter l'option --delete-emptydir-data à votre commande pour que ça fonctionne.

Mais qu'est-ce que cette erreur signifie réellement?

Explication de l'erreur

Cette erreur veut vous signaler que parmis les pods que vous avez sur le noeud que vous souhaitez vider, il y a des pods qui utilisent du stockage local (local storage) comme emptyDir.

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - image: busybox
    name: busybox
    volumeMounts:
    - mountPath: /data
      name: my-volume
  volumes:
  - name: my-volume
    emptyDir: {}

Utiliser un volume emptyDir est quelque chose qui doit être réfléchie et bien comprise pour éviter de tomber dans cette situation.

En effet un volume emptyDir n'existe que sur le noeud sur lequel se trouve le pod auquel il est rattaché. Contrairement au pod, il ne sera pas transféré sur un nouveau noeud mais devra être supprimé et recréé sur le nouveau noeud. Signifiant alors que toutes les données se trouvant dans le volume étant sur l'ancien noeud devra être supprimé, perdant alors toutes les datas contenues dedans.

C'est vraiment pour ça qu'il faut bien être conscient de ce qu'est un volume emptyDir. Si vous l'utilisez pour stocker le contenu d'une base de données, à la première mise à jour du cluster, vous aurez un problème.

On peut donc en conclure que l'erreur cannot delete Pod with local storage n'est pas réellement une erreur, mais une sorte de "boîte de confirmation" qui va vous prévenir de la présence des volumes locaux avant qu'ils ne soient supprimés.

J'espère que ça vous sera utile! 🍺Lors de mises à jour de cluster ou le retrait d'un noeud, il se peut que l'on tombe sur l'erreur "**cannot delete Pods with local storage".

$ kubectl drain node-1 --ignore-daemonsets
...
error: cannot delete Pods with local storage (use --delete-emptydir-data to override):

La solution est simple et est notée dans le log d'erreur. Il suffit d'ajouter l'option --delete-emptydir-data à votre commande pour que ça fonctionne.

Mais qu'est-ce que cette erreur signifie réellement?

Explication de l'erreur

Cette erreur veut vous signaler que parmis les pods que vous avez sur le noeud que vous souhaitez vider, il y a des pods qui utilisent du stockage local (local storage) comme emptyDir.

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - image: busybox
    name: busybox
    volumeMounts:
    - mountPath: /data
      name: my-volume
  volumes:
  - name: my-volume
    emptyDir: {}

Utiliser un volume emptyDir est quelque chose qui doit être réfléchie et bien comprise pour éviter de tomber dans cette situation.

En effet un volume emptyDir n'existe que sur le noeud sur lequel se trouve le pod auquel il est rattaché. Contrairement au pod, il ne sera pas transféré sur un nouveau noeud mais devra être supprimé et recréé sur le nouveau noeud. Signifiant alors que toutes les données se trouvant dans le volume étant sur l'ancien noeud devra être supprimé, perdant alors toutes les datas contenues dedans.

C'est vraiment pour ça qu'il faut bien être conscient de ce qu'est un volume emptyDir. Si vous l'utilisez pour stocker le contenu d'une base de données, à la première mise à jour du cluster, vous aurez un problème.

On peut donc en conclure que l'erreur cannot delete Pod with local storage n'est pas réellement une erreur, mais une sorte de "boîte de confirmation" qui va vous prévenir de la présence des volumes locaux avant qu'ils ne soient supprimés.

J'espère que ça vous sera utile! 🍺


This content originally appeared on DEV Community and was authored by Maxime Guilbert


Print Share Comment Cite Upload Translate Updates
APA

Maxime Guilbert | Sciencx (2023-04-03T15:26:00+00:00) Que signifie l’erreur “cannot delete Pods with local storage”?. Retrieved from https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/

MLA
" » Que signifie l’erreur “cannot delete Pods with local storage”?." Maxime Guilbert | Sciencx - Monday April 3, 2023, https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/
HARVARD
Maxime Guilbert | Sciencx Monday April 3, 2023 » Que signifie l’erreur “cannot delete Pods with local storage”?., viewed ,<https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/>
VANCOUVER
Maxime Guilbert | Sciencx - » Que signifie l’erreur “cannot delete Pods with local storage”?. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/
CHICAGO
" » Que signifie l’erreur “cannot delete Pods with local storage”?." Maxime Guilbert | Sciencx - Accessed . https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/
IEEE
" » Que signifie l’erreur “cannot delete Pods with local storage”?." Maxime Guilbert | Sciencx [Online]. Available: https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/. [Accessed: ]
rf:citation
» Que signifie l’erreur “cannot delete Pods with local storage”? | Maxime Guilbert | Sciencx | https://www.scien.cx/2023/04/03/que-signifie-lerreur-cannot-delete-pods-with-local-storage/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.