ドキュメントを見ると、 'a'ポッドを削除するためのAPI呼び出しがありますが、すべてのネームスペース内のすべてのポッドを削除する方法はありますか?
あなたが求めたことを正確に実行するためのコマンドはありません。
ここにいくつかのよく似た試合があります。
このコマンドを使用して、単一のネームスペース内のすべてのポッドを削除できます。
kubectl delete --all pods --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
kubectl delete daemonsets,replicasets,services,deployments,pods,rc --all
厄介なレプリケーションコントローラもそれらを取り除くために。
これを行うにはsed
が必要です。
kubectl get pods --no-headers=true --all-namespaces |sed -r 's/(\S+)\s+(\S+).*/kubectl --namespace \1 delete pod \2/e'
説明します。
kubectl get pods --all-namespaces
を使用します。--no-headers=true
オプションを使います。s
のsed
コマンドを使用して、それぞれnamespace
とpod's name
を表す最初の2ワードを取り出し、それらを使用してdelete
コマンドをアセンブルします。delete
コマンドはkubectl --namespace kube-system delete pod heapster-eq3yw
のようなものです。e
コマンドのs
修飾子を使用して、上記のコマンドを実行します。これにより、実際のdelete
が機能します。kube-system
名前空間のポッドが削除されないようにするには、sed
コマンドの前にgrep -v kube-system
名前空間を除外するためにkube-system
を追加する必要があります。
Kubectlバルク(krewに対するバルクアクション)プラグインはあなたにとって役に立つかもしれません、それはあなたに選択されたリソースの一括操作を与えます。これはポッドを削除するためのコマンドです
' kubectl bulk pods -n namespace delete '
詳細は this で確認できます
これはgrepで拡張して名前でフィルタリングできるワンライナーです。
kubectl get pods -o jsonpath="{.items[*].metadata.name}" | \
tr " " "\n" | \
xargs -i -P 0 kubectl delete pods {}
kubectl delete pods --all
それは至る所のすべてのポッドを削除します。
同じことが、サービス、配置、構成マップ、およびジョブにも当てはまります。
再作成されたポッドが既にある場合は、最初にすべての配置を削除することを検討してください。
kubectl delete -n *NAMESPACE deployment *DEPLOYMENT
NAMSPACEとDEPLOYMENTを対応するものに置き換えるだけで、次のコマンドですべてのデプロイメント情報を取得できます。
kubectl get deployments --all-namespaces
名前空間のすべてを削除するpythonコードを作成します
delall.py
import json,sys,os;
obj=json.load(sys.stdin);
for item in obj["items"]:
os.system("kubectl delete " + item["kind"] + "/" +item["metadata"]["name"] + " -n yournamespace")
その後
kubectl get all -n kong -o json | python delall.py