如何重新啟動或重設自訂命名空間 Pod

如何重新啟動或重設自訂命名空間 Pod

kube-system我有一個包含pod 和我的應用程式(命名空間)pod的 k3s 叢集xyz-system

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

我想在一個命令中重置/重新啟動所有這些Pod(kube-system + xyz-system)(或者可以是兩個命名空間的兩個命令,但沒有部署名稱),而不提供部署名稱,因為將來我可以建立更多部署,因此很難手動提供許多部署名稱。

偵錯:
kubectl -n kube-system rollout restart daemonsets,deployments使用中提到的 命令 關聯我能夠重新啟動kube-systemPod。但是,當我使用以下命令修改此命令時xyz-namespacekubectl -n xyz-system rollout restart deployments當我監控時,相應的 Pod 不會重新啟動,watch kubectl get all -A它們仍處於「運行」狀態。

有人可以讓我知道如何實現這個目標嗎?

答案1

在兩個命令中:

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

在「一」中:

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

或者:

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

儘管我同意 @jonas 的評論:聽起來像是一個奇怪的問題,但據我所知,沒有現實生活中的用例。

相關內容