1. ホーム
  2. クーベルネッツ

[解決済み】すべてのkubernetesネームスペースのすべてのPodを削除するコマンド

2022-03-31 23:21:24

質問

ドキュメントを見ると、単一のポッドを削除するAPIコールがあります。 すべて のポッドを、すべてのネームスペースで使用できますか?

解決方法は?

ご質問の内容を正確に実行するコマンドはありません。

近いものを紹介します。

これらのコマンドを実行する前に注意してください。 複数のクラスタを使用している場合は、正しいクラスタに接続されていることを確認してください。 実行を検討してください。 kubectl config view を最初に選択します。

このコマンドを使用すると、1つのネームスペース内のすべてのポッドを削除できます。

kubectl delete --all pods --namespace=foo

また、名前空間のすべてのデプロイメントを削除すると、その名前空間に対応するデプロイメントにアタッチされているすべてのポッドを削除することができます。

kubectl delete --all deployments --namespace=foo

このコマンドを使用すると、すべてのネームスペースと、すべてのネームスペース内のオブジェクトを削除できます(ただし、ノードや一部のイベントなど、ネームスペースが設定されていないオブジェクトは削除できません)。

kubectl delete --all namespaces

しかし、後者のコマンドは、kube-system名前空間内のものを削除してしまい、クラスタが使えなくなるので、おそらくやりたくないことでしょう。

このコマンドは、kube-system以外のすべてのネームスペースを削除するもので、便利なコマンドかもしれません。

for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system);
do
  kubectl delete ns $each
done