概述
有这样一个问题,在rancher中部署了一个mysql的集群服务1,然后在rancher中继续部署其他一个web服务2,其中,需要使用mysql服务,应该如何做?
问题的出发点很简单,就是让一个容器的服务去访问另一个容器的服务,单纯用docker,使用用--link
参数即可完成3两个甚至多个容器间的连接,那么如何使用Rancher来配置操作呢?
下面就实际操作一下看看,
前面我们布置过一个小幺鸡文档接口管理工具4(以下简称小幺鸡
5),当初是对小幺鸡的配置文件修改对应的mysql访问地址完成的。配置如下:
## SQL CONFIG
jdbc.url=jdbc:mysql://10.5x.xxx.xx7:3306/xiaoyaoji?useUnicode=true&characterEncoding=utf8
jdbc.username=yourmysqluser
jdbc.password=yourmysqlpassword
jdbc.driverclass=com.mysql.jdbc.Driver
jdbc.initsize=2
jdbc.maxwait=10000
jdbc.minidle=1
这里的地址10.5x.xxx.xx7
,实际上是对外访问使用的,实际情况对小幺鸡来说,完全不需要走外网访问MySQL数据库,因为在rancher治理下,小幺鸡和MySQL相当于是在一起的,在"内部局域网"之间互联即可,并且Rancher也确实为我们提供了此功能。
使用Rancher的连接操作
先看当前的配置:
有两种方式,一种是对当前服务升级;一种是直接编辑容器;
上图中就是可以直接升级,选择服务链接即可,这里就以编辑为例:
如图,选择编辑,如下图:
保存后,再查看容器详情:
在连接标签中就有了服务链接。
使用服务链接
用这个服务链接的一个好处就是,不用管IP地址的变化了,比如说MySQL服务异常重启了或者对MySQL升级了,那么相应的就用可能MySQL的IP地址发生了变化(我这里的Rancher是集群部署的,主机有四台,对容器升级,就会切换到其他主机上),如果MySQL的地址变化了,而小幺鸡不相应的修改配置文件,那么小幺鸡服务就无法使用。
因此,这里使用服务链接,实际上就是服务的别名,用别名代替容器的IP地址,它相当于编辑hosts
文件,对IP地址设置的别名。如图
假设我用datanode1
或者slave0
,实际上相当于访问的网络10.**.***.*7
这个地址。
此时我们在修改小幺鸡的配置如下:
jdbc.url=jdbc:mysql://xiaoyaoji:3306/xiaoyaoji?useUnicode=true&characterEncoding=utf8
jdbc.username=yourmysqluser
jdbc.password=yourmysqlpassword
jdbc.driverclass=com.mysql.jdbc.Driver
jdbc.initsize=2
jdbc.maxwait=10000
jdbc.minidle=1
重启容器,等一会确保容器重新启动完成,
然后登录小幺鸡查看功能正常即可。
写此文章时候,发现小幺鸡似乎要商业化了,已经不提供离线版安装和服务了,当时部署的小幺鸡是18年的时候,乘此赶紧升级一下。首先下载安装包,点击这里下载
如何使用Rancher部署发布自己的web应用#MySQL数据服务 ↩︎
如何使用Rancher部署发布自己的web应用#Tomcat容器 ↩︎
Docker容器间互访#Link方式 ↩︎
如何使用Rancher部署发布自己的web应用#小幺鸡 ↩︎
原作者要商业化了,明确说明不支持离线版技术支持和服务了,开源加油!最新版移步这里 ↩︎
最后
以上就是强健铃铛为你收集整理的说说Rancher的容器连接如何使用使用Rancher的连接操作使用服务链接的全部内容,希望文章能够帮你解决说说Rancher的容器连接如何使用使用Rancher的连接操作使用服务链接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复