Wie kann ich die benutzerdefinierten Namespace-Pods neu starten oder zurücksetzen?

Wie kann ich die benutzerdefinierten Namespace-Pods neu starten oder zurücksetzen?

Ich habe einen K3s-Cluster mit kube-systemPods und den Pods meiner Anwendung ( xyz-systemNamespace):

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

Ich möchte alle diese Pods (Kube-System + XYZ-System) mit einem Befehl (oder es können zwei Befehle für zwei Namespaces sein, aber ohne Bereitstellungsnamen) zurücksetzen/neu starten, ohne Bereitstellungsnamen anzugeben, da ich in Zukunft möglicherweise weitere Bereitstellungen erstellen lasse und es daher schwierig sein wird, viele Bereitstellungsnamen manuell anzugeben.

Debuggen:
Mit dem Befehl kubectl -n kube-system rollout restart daemonsets,deploymentswie inVerknüpfungIch kann die kube-systemPods neu starten. Aber wenn ich diesen Befehl mit änder xyz-namespace: kubectl -n xyz-system rollout restart deploymentswerden die entsprechenden Pods nicht neu gestartet, wenn ich watch kubectl get all -Asie überwache, sondern bleiben im Status „Ausführen“.

Kann mir jemand sagen, wie das geht?

Antwort1

In zwei Befehlen:

kubectl delete pod -n kube-system --all
kubectl delete pod -n xyz-system --all

In Eins":

kubectl get pods -A | awk 'NR>1{print $1" "$2}' \
    | while read ns pod; do \
        kubectl delete -n $ns pod $pod; done

Oder:

kubectl get ns | awk 'NR>1{print $1}' \
    | while read ns; do \
         kubectl delete pod -n $ns --all; done

Ich stimme jedoch dem Kommentar von @jonas zu: Das klingt nach einer seltsamen Frage, für die mir keine Anwendungsfälle aus dem wirklichen Leben bekannt sind.

verwandte Informationen