web-dev-qa-db-fra.com

KubeNettes Pod Supprimer avec motif de motif ou caractères génériques

Lorsque j'utilise ci-dessous, il supprime le goussement en cours d'exécution après la correspondance du modèle de Commandline:

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

Cependant, lorsque j'utilise cette commande comme alias dans .bash_profile, il n'exécute pas. C'est comme ça que je l'ai défini:

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

lors de l'exécution ceci comme ci-dessous, je reçois ci-dessous une erreur dans Commandline:

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

Quand je définis cela dans .bash_profile, je reçois ceci:

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

Est-ce que je manque quelque chose pour supprimer la pod en utilisant le match ou avec Wilcard?

merci

7
pauldx

Vous avez juste besoin d'échapper à la variable "$ 1" dans la commande AWK:

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

Je sais que cette évasion est ennuyeuse, et si vous voulez éviter cela, vous pouvez utiliser comme fonction en vous .bash_profile:

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