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 ...
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
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.
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
ps -ef | grep "kubectl proxy"
vous montrera le PID du processus
Ensuite, vous pouvez l'arrêter avec
kill -9 <pid>
Ce qui suit fonctionne pour moi dans MacOS
pkill -9 -f "kubectl proxy"