我正在使用Rancher来管理编排我的Docker容器的Kubernetes。
我们需要持久性的每个微服务(在容器中运行)都有一个相应的MySQL容器。例如,MyApp在名为MyApp的容器中运行,并持久存储到名为MySQL-MyApp的MySQL容器中。
我们有很多这样的。我们不想定义运行MySQL容器的节点,因此如果它与该主机上的任何其他端口冲突,则无法在主机上发布/公开该端口。
但是,如果我们的某个微服务的某些数据出现问题,我们需要能够使用MySQL Workbench访问相关容器中的MySQL实例,以便从我们物理网络上的外部机器查看/编辑数据库中的数据。
有什么想法我们会怎么做呢?我们能够以某种方式暂时公开/发布一个正在运行的MySQL容器的端口,以便我们可以通过MySQL Workbench连接到它,还是有其他方法可以完成这项工作?
如果用户可以访问kubectl群集的命令行,则可以在本地开发计算机和包含MySQL容器的pod之间设置临时端口转发。
例如,mypod-765d459796-258hzpod 在哪里,您想要连接到该pod的端口3306:
kubectl port-forward mypod-765d459796-258hz 12345:3306
然后你可以将MySQL Workbench连接到localhost:12345它,它将转发到Kubernetes中的MySQL容器。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。