
Eu tenho um cluster k3s com pods e pods (namespace) kube-system
do meu aplicativo :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
Quero redefinir/reiniciar todos esses pods (kube-system + xyz-system) em um comando (ou podem ser dois comandos para dois namespaces, mas sem nome de implantação) sem fornecer nomes de implantação, porque no futuro posso ter mais implantações criadas , portanto será difícil fornecer muitos nomes de implantação manualmente.
Depuração:
Com o comando kubectl -n kube-system rollout restart daemonsets,deployments
conforme mencionado emlinkConsigo reiniciar os kube-system
pods. Mas quando modifico este comando com xyz-namespace
: kubectl -n xyz-system rollout restart deployments
os respectivos pods não estão reiniciando quando monitoro, watch kubectl get all -A
eles permanecem como estão no estado Em execução.
Alguém pode me dizer como conseguir isso?
Responder1
Em dois comandos:
kubectl delete pod -n kube-system --all
kubectl delete pod -n xyz-system --all
Em um":
kubectl get pods -A | awk 'NR>1{print $1" "$2}' \
| while read ns pod; do \
kubectl delete -n $ns pod $pod; done
Ou:
kubectl get ns | awk 'NR>1{print $1}' \
| while read ns; do \
kubectl delete pod -n $ns --all; done
Embora eu apoie o comentário de @jonas: parece uma pergunta estranha, sem nenhum caso de uso na vida real que eu conheça.