如何停止 kubectl 代理
How to stop kubectl proxy
我执行了以下命令:
kubectl proxy --port=8081 &
kubectl proxy --port=8082 &
当然我有 2 个可访问端点:
curl http://localhost:8081/api/
curl http://localhost:8082/api/
但同时有两个 运行 进程提供相同的内容。
如何以 "kubectl" 方式停止这些进程之一?
当然,我可以终止进程,但这似乎是一种不太优雅的方式...
我相信 "kubectl way" 根本不会让代理后台运行,因为它旨在成为一个简短的 运行 进程,无需进一步验证即可访问本地计算机上的 API .
除了 kill 或 ^C(如果不在后台),没有办法阻止它。
虽然您可以使用标准的 shell 技巧,因此执行 fg
然后 ^C 将起作用或 kill %1
运行 这个命令用来计算进程id (pid):
netstat -tulp | grep kubectl
然后运行sudo kill -9 <pid>
杀进程
过滤(grep)所有 "kube" pids 并用循环杀死:
for pid in `netstat -tulp | grep kube | awk '{print }' | awk -F"/" '{print }'| uniq`
do
kill -9 $pid
done
ps -ef | grep "kubectl proxy"
将显示进程的 PID
然后你可以用
停止它
kill -9 <pid>
以下在 MacOS 中对我有效
pkill -9 -f "kubectl proxy"
根据平台的不同,您可以将代理包装在服务/守护进程中,但似乎有点矫枉过正,我只想添加别名或函数来启动并在您的 terminal/shell 配置文件中获取它们以使其更容易。
或
kubectl-proxy-start() {
kubectl proxy &
}
kubectl-proxy-kill() {
pkill -9 -f "kubectl proxy"
}
试试这个,当然要使用你的端口号
$ pkill -f 'kubectl proxy --port=8080'
我执行了以下命令:
kubectl proxy --port=8081 &
kubectl proxy --port=8082 &
当然我有 2 个可访问端点:
curl http://localhost:8081/api/
curl http://localhost:8082/api/
但同时有两个 运行 进程提供相同的内容。 如何以 "kubectl" 方式停止这些进程之一? 当然,我可以终止进程,但这似乎是一种不太优雅的方式...
我相信 "kubectl way" 根本不会让代理后台运行,因为它旨在成为一个简短的 运行 进程,无需进一步验证即可访问本地计算机上的 API .
除了 kill 或 ^C(如果不在后台),没有办法阻止它。
虽然您可以使用标准的 shell 技巧,因此执行 fg
然后 ^C 将起作用或 kill %1
运行 这个命令用来计算进程id (pid):
netstat -tulp | grep kubectl
然后运行sudo kill -9 <pid>
杀进程
过滤(grep)所有 "kube" pids 并用循环杀死:
for pid in `netstat -tulp | grep kube | awk '{print }' | awk -F"/" '{print }'| uniq`
do
kill -9 $pid
done
ps -ef | grep "kubectl proxy"
将显示进程的 PID
然后你可以用
停止它kill -9 <pid>
以下在 MacOS 中对我有效
pkill -9 -f "kubectl proxy"
根据平台的不同,您可以将代理包装在服务/守护进程中,但似乎有点矫枉过正,我只想添加别名或函数来启动并在您的 terminal/shell 配置文件中获取它们以使其更容易。
或
kubectl-proxy-start() {
kubectl proxy &
}
kubectl-proxy-kill() {
pkill -9 -f "kubectl proxy"
}
试试这个,当然要使用你的端口号
$ pkill -f 'kubectl proxy --port=8080'