web-dev-qa-db-ja.com

パターンの一致やワイルドカードでクウェットのポッドの削除

下に使っているときは、コマンドラインからパターンをマッチングした後に実行中のポッドを削除します。

kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print $1}' | xargs kubectl delete -n bi-dev pod
 _

ただし、このコマンドを.bash_profileのエイリアスとして使用している場合は実行されません。これが私がそれを定義した方法です。

 alias kdpgroup="kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print $1}'|  kubectl delete -n bi-dev pod"
 _

以下のようにこれを実行すると、コマンドラインでエラーが発生します。

~ $ kdpgroup
error: resource(s) were provided, but no name, label selector, or --all flag specified
 _

これを.bash_profileで定義すると、これを取得します。

~ $ . ./.bash_profile
-bash: alias: }| xargs  kubectl delete -n bi-dev pod: not found
~ $
 _

パターンの一致やWilcardを使ってPODを削除するための何かがありませんか?

ありがとう

7
pauldx

Awkコマンドで '$ 1'変数をエスケープするだけです。

alias kdpgroup="kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print \$1}'| xargs kubectl delete -n bi-dev pod"
 _

私は脱出が退屈であることを知っています、そしてあなたがそれを避けたいならば、あなたの.bash_profile:

kdpgroup() {
    kubectl get pods -n default --no-headers=true | awk '{print $1}' | xargs kubectl delete pod -n default
}
 _
2
MrKoopaKiller