GKE: 如何在通过堡垒主机进行端口转发后断开与 Pod 的连接
P粉775723722
2023-08-29 18:20:49
<p>我正在使用本地机器与在Kubernetes中部署的Pod中的数据库进行工作。要连接到它,首先需要连接到堡垒主机VM。</p>
<p>基本上,这是一个双重SSH隧道:将端口3306映射到堡垒主机VM的端口3306,然后通过本地主机的3306端口。</p>
<pre class="brush:php;toolbar:false;">gcloud beta compute ssh my-bastion-host --project my-gcp-project --zone us-west1-b --command "kubectl -n mynamespace port-forward app-mysqldb-12345-abcde 3306" -- -L3306:127.0.0.1:3306</pre>
<p>然而,当我终止命令时,VM和mysql pod之间的连接并没有终止,我需要自动执行:首先,在堡垒主机上执行以下命令:</p>
<pre class="brush:php;toolbar:false;">ps -ef|grep port-forward</pre>
<p>找到进程号PROCESS_NUMBER,然后执行以下命令:</p>
<pre class="brush:php;toolbar:false;">echo "kill -9 <PROCESS_NUMBER></pre>
<p>终止连接。</p>
<p>是否有一种方法可以在终止<code>gcloud beta compute ssh</code>时自动关闭堡垒主机与mysql pod之间的连接?</p>
尝试这个: