
Tengo un clúster k3s con kube-system
pods y los pods (espacio de nombres) de mi aplicación xyz-system
:
kube-system pod/calico-node-xxxx
kube-system pod/calico-kube-controllers-xxxxxx
kube-system pod/metrics-server-xxxxx
kube-system pod/local-path-provisioner-xxxxx
kube-system pod/coredns-xxxxx
xyz-system pod/my-app
xyz-system pod/my-app-mqtt
Quiero restablecer/reiniciar todos estos pods (kube-system + xyz-system) en un comando (o pueden ser dos comandos para dos espacios de nombres pero sin nombre de implementación) sin dar nombres de implementación porque en el futuro puedo crear más implementaciones , por lo que será difícil proporcionar muchos nombres de implementación manualmente.
Depuración:
Con el comando kubectl -n kube-system rollout restart daemonsets,deployments
como se menciona enenlacePuedo reiniciar las kube-system
cápsulas. Pero cuando modifico este comando con xyz-namespace
: kubectl -n xyz-system rollout restart deployments
los respectivos pods no se reinician cuando los superviso, watch kubectl get all -A
permanecen como están en estado de ejecución.
¿Alguien puede decirme cómo lograr esto?
Respuesta1
En dos comandos:
kubectl delete pod -n kube-system --all
kubectl delete pod -n xyz-system --all
En uno":
kubectl get pods -A | awk 'NR>1{print $1" "$2}' \
| while read ns pod; do \
kubectl delete -n $ns pod $pod; done
O:
kubectl get ns | awk 'NR>1{print $1}' \
| while read ns; do \
kubectl delete pod -n $ns --all; done
Aunque apoyo el comentario de @jonas: suena como una pregunta extraña, sin casos de uso de la vida real que yo sepa.