web-dev-qa-db-fra.com

Comment arrêter le proxy Kubectl

J'ai exécuté la commande ci-dessous:

kubectl proxy --port=8081 &
kubectl proxy --port=8082 &

et bien sûr j'ai 2 points de terminaison accessibles:

curl http://localhost:8081/api/
curl http://localhost:8082/api/

Mais en même temps, deux processus en cours d'exécution servant le même contenu. Comment arrêter l'un de ces processus de manière "kubectl"? Bien sûr, je peux tuer le processus mais cela semble être une manière moins élégante ...

13
itiic

Je crois que la "façon kubectl" est de ne pas du tout fonder le proxy car il est destiné à être un processus court pour accéder à l'API sur votre machine locale sans autre authentification.

Il n'y a aucun moyen de l'arrêter autre que kill ou ^ C (s'il n'est pas en arrière-plan).

Vous pouvez cependant utiliser des astuces Shell standard, donc exécuter fg puis ^ C fonctionnera ou kill %1

17
Janos Lenart

Exécutez cette commande pour comprendre l'ID de processus (pid):

netstat -tulp | grep kubectl 

Exécutez ensuite Sudo kill -9 <pid> pour tuer le processus.

10
Iyus Dedi Putra

Filtrer (grep) tous les pids "kube" et tuer avec boucle:

for pid in `netstat -tulp | grep kube | awk '{print $7}' | awk -F"/" '{print $1}'| uniq`
 do
   kill -9 $pid
 done
2
ps -ef | grep "kubectl proxy"

vous montrera le PID du processus

Ensuite, vous pouvez l'arrêter avec

kill -9 <pid>
2
Chus

Ce qui suit fonctionne pour moi dans MacOS

pkill -9 -f "kubectl proxy"

0
Hemant