web-dev-qa-db-ja.com

kubectlプロキシを停止する方法

以下のコマンドを実行しました:

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

そしてもちろん、私は2つのアクセス可能なエンドポイントを持っています:

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

しかし同時に、同じコンテンツを提供する2つの実行中のプロセス。これらのプロセスの1つを「kubectl」方式で停止する方法は?もちろん、私はプロセスを殺すことができますが、それはあまりエレガントな方法ではないようです...

13
itiic

「kubectlの方法」は、プロキシをまったくバックグラウンドにしないことだと思います。これは、認証を行わずにローカルマシンのAPIにアクセスするための短い実行プロセスであるためです。

Killまたは^ C(バックグラウンドでない場合)以外で停止する方法はありません。

ただし、標準のシェルトリックを使用できます。したがって、fgを実行すると^ Cが機能するか、kill %1

17
Janos Lenart

次のコマンドを実行して、プロセスID(pid)を把握します。

netstat -tulp | grep kubectl 

次に、Sudo kill -9 <pid>を実行してプロセスを強制終了します。

10
Iyus Dedi Putra

すべての「kube」pidをフィルタリング(grep)し、ループで強制終了します。

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

プロセスのPIDが表示されます

その後、あなたはそれを止めることができます

kill -9 <pid>
2
Chus

以下はMacOSで私のために働く

pkill -9 -f "kubectl proxy"

0
Hemant