
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-system
Pod。但是,當我使用以下命令修改此命令時xyz-namespace
:kubectl -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 的評論:聽起來像是一個奇怪的問題,但據我所知,沒有現實生活中的用例。