代码之家  ›  专栏  ›  技术社区  ›  itiic

如何停止kubectl代理

  •  27
  • itiic  · 技术社区  · 7 年前

    我执行了以下命令:

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

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

    但是在同一时间,两个正在运行的进程服务于相同的内容。 当然,我可以终止这个过程,但这似乎是一种不那么优雅的方式。。。

    7 回复  |  直到 7 年前
        1
  •  24
  •   Janos Lenart    7 年前

    我认为“kubectl方法”是完全不将代理作为后台,因为它是一个短时间运行的过程,可以在本地机器上访问API,而无需进一步验证。

    除了kill或^ C(如果不是在后台)之外,没有其他方法可以阻止它。

    fg 然后^ C将工作或 kill %1

        2
  •  16
  •   aboger yanki Boy    7 年前

    运行此命令以计算进程id(pid):

    netstat -tulp | grep kubectl 
    

    然后运行 sudo kill -9 <pid>

        3
  •  9
  •   marc_s    6 年前
    ps -ef | grep "kubectl proxy"
    

    将向您显示流程的PID

    然后你可以用

    kill -9 <pid>
    
        4
  •  5
  •   Phillip Fleischer    5 年前

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

    kubectl-proxy-start() {
        kubectl proxy &
    }
    
    kubectl-proxy-kill() {
        pkill -9 -f "kubectl proxy"
    }
    
        5
  •  3
  •   Hemant    5 年前

    以下内容适用于我在MacOS中的应用

    pkill -9 -f "kubectl proxy"

        6
  •  2
  •   Ashish K Srivastava    6 年前

    过滤(grep)所有“kube”PID并使用循环终止:

    for pid in `netstat -tulp | grep kube | awk '{print $7}' | awk -F"/" '{print $1}'| uniq`
     do
       kill -9 $pid
     done
    
        7
  •  0
  •   Chris F    4 年前

    $ pkill -f 'kubectl proxy --port=8080'