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

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

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

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

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

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


person itiic    schedule 19.09.2017    source источник


Ответы (7)


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

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

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

person Janos Lenart    schedule 20.09.2017
comment
^ C не убивал для меня процесс: \ - person Archonic; 16.07.2018

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

netstat -tulp | grep kubectl 

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

person Iyus Dedi Putra    schedule 20.09.2017
comment
ist должно быть netstat не netsat - person Datz; 13.04.2018

ps -ef | grep "kubectl proxy"

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

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

kill -9 <pid>
person Chus    schedule 29.05.2019
comment
убить всегда вариант - person itiic; 29.05.2019

В зависимости от платформы вы можете обернуть прокси-сервер в сервис / демон, но это кажется излишним, я бы просто добавил псевдонимы или функции для запуска и отправил их в свой профиль терминала / оболочки, чтобы упростить задачу.

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

or

kubectl-proxy-start() {
    kubectl proxy &
}

kubectl-proxy-kill() {
    pkill -9 -f "kubectl proxy"
}
person Phillip Fleischer    schedule 17.04.2020

Отфильтруйте (grep) все pid-файлы "kube" и убейте с помощью цикла:

for pid in `netstat -tulp | grep kube | awk '{print $7}' | awk -F"/" '{print $1}'| uniq`
 do
   kill -9 $pid
 done
person Ashish K Srivastava    schedule 26.05.2019
comment
убить всегда вариант - person itiic; 29.05.2019

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

pkill -9 -f "kubectl proxy"

person Hemant    schedule 14.08.2019

Попробуйте это, конечно, используя ваши номера портов

$ pkill -f 'kubectl proxy --port=8080'
person Chris F    schedule 18.12.2020