Kubernetes

如何重新啟動或重置自定義命名空間 pod

  • August 16, 2021

我有一個帶有kube-systempod 和我的應用程序(xyz-system命名空間)pod 的 k3s 集群:

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)(或者它可以是兩個命名空間的兩個命令,但沒有部署名稱)而不提供部署名稱,因為將來我可以創建更多部署,因此很難手動提供許多部署名稱。

調試:使用連結中提到的

命令 ,我可以重新啟動pod。但是,當我使用以下命令修改此命令時:當我監控它們時,各個 pod 沒有重新啟動,它們仍然處於執行狀態。kubectl -n kube-system rollout restart daemonsets,deployments``kube-system``xyz-namespace``kubectl -n xyz-system rollout restart deployments``watch kubectl get all -A

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

在兩個命令中:

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 評論:聽起來像一個奇怪的問題,我知道沒有現實生活中的案例。

引用自:https://serverfault.com/questions/1074687