Как остановить прокси-сервер kubectl

Я выполнил команду:

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

и, конечно, у меня есть 2 доступных конечных точки:

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

Но в то же время два запущенных процесса обслуживают один и тот же контент. Как остановить один из этих процессов с помощью "куветтек"? Конечно, я могу убить этот процесс, но он кажется менее элегантным...

Ответ 1

Я считаю, что "kubectl way" заключается в том, чтобы не зависеть от прокси-сервера вообще, поскольку он предназначен для короткого запуска процесса доступа к API на вашем локальном компьютере без дополнительной проверки подлинности.

Невозможно остановить его, кроме kill или ^ C (если не в фоновом режиме).

Вы можете использовать стандартные трюки оболочки, хотя, выполняя fg тогда ^ C будет работать или kill %1

Ответ 2

Запустите эту команду, чтобы определить идентификатор процесса (pid):

netstat -tulp | grep kubectl 

Затем запустите sudo kill -9 <pid> чтобы убить процесс.

Ответ 3

Отфильтруйте (grep) все "кубические" пиды и уничтожьте их циклом:

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

Ответ 4

ps -ef | grep "kubectl proxy"

покажет вам PID процесса

Тогда вы можете остановить это с помощью

kill -9 <pid>

Ответ 5

Следующее работает для меня в MacOS

pkill -9 -f "kubectl proxy"