当前位置:  开发笔记 > 后端 > 正文

Kubernetes:在多容器Pod/Job中停止CloudSQL-proxy sidecar容器

如何解决《Kubernetes:在多容器Pod/Job中停止CloudSQL-proxysidecar容器》经验,为你挑选了1个好方法。

我有一个Kubernetes JOB在CloudSQL数据库上进行数据库迁移.
从GKE访问CloudSQL数据库的一种方法是使用CloudSQL代理容器然后通过连接localhost.太棒了 - 到目前为止工作正常.但是因为我在K8s中这样做,JOB所以作业没有被标记为成功完成,因为代理继续运行.

$ kubectrl get po
NAME                      READY     STATUS      RESTARTS   AGE
db-migrations-c1a547      1/2       Completed   0          1m

即使输出显示"已完成",最初的两个容器之一仍在运行 - 代理.

如何在完成容器1内的迁移时使代理退出?



1> 小智..:

一种可能的解决方案是使用匹配服务的单独的cloudql-proxy部署.然后,您只需要在连接到代理服务的作业中使用迁移容器.

这有一些缺点:

更高的网络延迟,没有pod本地mysql通信

如果您将sql端口提供给整个kubernetes集群,则可能存在安全问题

如果你想打开CLOUDSQL代理整个集群必须更换tcp:3306tcp:0.0.0.0:3306-instance上CLOUDSQL代理参数.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有