すべての Kubernetes 名前空間内のすべてのポッドを削除するコマンド 質問する

すべての Kubernetes 名前空間内のすべてのポッドを削除するコマンド 質問する

ドキュメントを見ると、単一のポッドを削除する API 呼び出しがありますが、すべての名前空間内のすべてのポッドを削除する方法はありますか?

ベストアンサー1

要求したとおりに正確に実行するコマンドはありません。

近い一致をいくつか示します。

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

次のコマンドを使用して、単一の名前空間内のすべてのポッドを削除できます。

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

おすすめ記事