首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GKE:如何在通过bastion-host进行端口转发后关闭与吊舱的连接

GKE:如何在通过bastion-host进行端口转发后关闭与吊舱的连接
EN

Stack Overflow用户
提问于 2022-04-04 08:11:58
回答 2查看 192关注 0票数 0

我在我的本地机器上工作,在库伯奈特斯的一个吊舱中部署了一个数据库。要连接到它,首先需要连接到一个堡垒主机VM。

基本上,它是一个双ssh隧道:端口3306被映射到堡垒主机VM的端口3306,然后通过

代码语言:javascript
复制
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

但是,当我终止命令VM和mysql pod之间的连接时,它不会被终止,我需要自动完成它:首先,在bastion主机中,

代码语言:javascript
复制
ps -ef|grep port-forward 

找到PROCESS_NUMBER

代码语言:javascript
复制
echo "kill -9 <PROCESS_NUMBER>

来终止连接。

gcloud beta compute ssh终止时,是否有一种方法可以自动关闭基站主机和mysql之间的连接?

EN

回答 2

Stack Overflow用户

发布于 2022-04-04 19:37:19

试试这个:

代码语言:javascript
复制
gcloud beta compute ssh my-bastion-host --project my-gcp-project --zone us-west1-b --command "bash -c 'kubectl -n mynamespace port-forward app-mysqldb-12345-abcde 3306'; kill -9 $(pgrep -f port-forward)" -- -L3306:127.0.0.1:3306
票数 1
EN

Stack Overflow用户

发布于 2022-04-12 11:23:29

正如@Saxon所建议的,它是在kubectl之后运行。在运行另一个端口转发操作之前,应该先杀死它。

因此,您应该在调用kubectl之前执行另一个回击,以便在创建新的端口转发之前终止任何挥之不去的连接,这将解决您正在获得的错误:

代码语言:javascript
复制
gcloud beta compute ssh my-bastion-host --project my-gcp-project --zone us-west1-b --command "bash -c 'kill -9 $(pgrep -f port-forward); kubectl -n mynamespace port-forward app-mysqldb-12345-abcde 3306'; kill -9 $(pgrep -f port-forward)" -- -L3306:127.0.0.1:3306
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71733913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档