Wie kann ich die K3s-Cluster-Pods neu starten oder zurücksetzen?

Wie kann ich die K3s-Cluster-Pods neu starten oder zurücksetzen?

Ich habe einen k3s ( v1.21.1+ k3s1)-Cluster mit folgenden Pods:

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

Wie kann ich die Pods neu starten (stoppen und erneut starten), entweder mit einem Befehl ( kubectlvielleicht) oder einem beliebigen Skript?

Antwort1

Kubernetes unterstützt das Stoppen/Anhalten des aktuellen Zustands von Pods nicht. Sie können jedoch mit dem Befehl einen Rollout-Neustart von Deployment/ durchführen (siehe:DaemonSetkubectl rollout restartdie Kubectl Referenzdokumente).

Um alles Deploymentsund DaemonSetsim kube-systemNamespace neu zu starten, können Sie den folgenden Befehl verwenden:

# kubectl -n kube-system rollout restart daemonsets,deployments
daemonset.apps/calico-node restarted
deployment.apps/local-path-provisioner restarted
deployment.apps/coredns restarted
deployment.apps/metrics-server restarted
deployment.apps/calico-kube-controllers restarted

Wie Sie wahrscheinlich an der obigen Ausgabe bemerkt haben, calico-nodeist dies ein DaemonSetund der Rest der Pods wird von verwaltet Deployments.

Wenn Sie möchten, können Sie bestimmte Deployment/ neu starten Daemonset:

# kubectl -n kube-system rollout restart deployment metrics-server
deployment.apps/metrics-server restarted
# kubectl get pod -n kube-system | grep metrics-server
metrics-server-6bd8786b6c-74qlt            1/1     Running       0          2s
metrics-server-647d5b4475-ch9zj            1/1     Terminating   0          28s

verwandte Informationen