
我有一個包含以下 pod 的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
也許)或任何腳本重新啟動(停止並再次啟動 Pod)Pod?
答案1
Kubernetes 不支援停止/暫停 Pod 的目前狀態。但是,您可以使用下列命令執行Deployment
/的轉出重新啟動(請參閱:DaemonSet
kubectl rollout restart
Kubectl 參考文檔)。
若要重新啟動命名空間中的所有Deployments
和,可以使用下列命令:DaemonSets
kube-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
是 a 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