K3s クラスター ポッドを再起動またはリセットするにはどうすればよいですか?

K3s クラスター ポッドを再起動またはリセットするにはどうすればよいですか?

次のポッドを持つk3s ( v1.21.1+ ) クラスターがあります。k3s1

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

kubectlコマンド(おそらく)またはスクリプトを使用してポッドを再起動(ポッドを停止して再起動)するにはどうすればよいですか?

答え1

Kubernetes は、Pod の現在の状態の停止/一時停止をサポートしていません。ただし、コマンドを使用してDeployment/のロールアウト再起動を実行できます(参照:DaemonSetkubectl rollout restartKubectl リファレンスドキュメント)。

名前空間内のすべての を再起動するにはDeployments、次のコマンドを使用します。DaemonSetskube-system

# 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

上記の出力からお気づきかもしれませんが、 はcalico-nodeでありDaemonSet、残りの Pod は によって管理されていますDeployments

必要に応じて、特定のDeployment/ を再起動できます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

関連情報