
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 ( kubectl
vielleicht) 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:DaemonSet
kubectl rollout restart
die Kubectl Referenzdokumente).
Um alles Deployments
und DaemonSets
im kube-system
Namespace 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-node
ist dies ein DaemonSet
und 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