Kubernetes
如何重新啟動或重置自定義命名空間 pod
我有一個帶有
kube-system
pod 和我的應用程序(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 評論:聽起來像一個奇怪的問題,我知道沒有現實生活中的案例。