1. 介绍

1.1 介绍

今天福哥要带着大家学习Rancher部署一个服务的方法,大家都知道通过docker部署一个服务需要定制很多参数,包括容器名称、主机名称、镜像、端口映射、磁盘映射、网络配置、启动命令等等。

我们可以使用Dockerfile去简化这个操作,把这个敲命令变成编写配置文档,大大提高了可操作性。在Rancher里面我们可以通过“点点点”的方式界面化部署一个服务,这个简直不要太爽了~~

2. 部署

2.1 名称

这个就是docker的name了。

名称可以随便起,建议使用英文。

rancher部署java服务 rancher部署应用_mysql

2.2 工作负载类型

类型很多,以后福哥会专门讲解这个,今天安装的是mysql数据库,所以选择有状态应用。

rancher部署java服务 rancher部署应用_docker_02

2.3 Docker镜像

这个就是docker的镜像了。

可以用私有仓库镜像,也可以用公有仓库的镜像。

rancher部署java服务 rancher部署应用_mysql_03

2.4 命名空间

选择是什么环境,这里福哥选择的是product(生产环境)。

rancher部署java服务 rancher部署应用_rancher部署java服务_04

2.5 端口映射

这个就是docker的port(-p)了。

其实不用配置这个主机之间也可以直接访问的,不过集群如果有多个主机还是配上比较好。

rancher部署java服务 rancher部署应用_docker_05

2.6 环境变量

这个就是docker的environment(-e)了。

福哥通过MYSQL_ROOT_PASSWORD变量设置了mysql的初始化的root账号的密码。

rancher部署java服务 rancher部署应用_容器_06

2.7 主机调度

选择服务部署在那台主机上面,可以手动选择,也可以自动分配。

rancher部署java服务 rancher部署应用_rancher部署java服务_07

2.8 健康检查

这个就是health_check了,图形化设置真爽~~

rancher部署java服务 rancher部署应用_rancher部署java服务_08

2.9 数据卷

这个就是docker的volumes(-v)了。

福哥设置了一个数据卷,将mysql的数据目录/var/lib/mysql/映射到了主机上面的/data/docker.data/mysql/data/目录上面。

2.9.1 创建目录

首先需要在服务器上建立这个目录,然后设置所有者和分组。

因为mysql:5.7的镜像的mysql用户和mysql组的ID都是999,所以这里授权999.999即可。

mkdir -p data/docker.data/mysql/data/
chown 999.999 data/docker.data/mysql/data/

登录后复制

2.9.2 设置数据卷

rancher部署java服务 rancher部署应用_Pod_09

2.10 缩放/升级策略

这个就是docker-compose的scale,不过可以实现动态规划。

rancher部署java服务 rancher部署应用_容器_10

2.11 入口/命令

这个就是docker的/usr/sbin/init,可以自定义。

rancher部署java服务 rancher部署应用_rancher部署java服务_11

2.12 网络

这个就是docker的net和ip,可以自定义。

rancher部署java服务 rancher部署应用_rancher部署java服务_12

2.13 标签/注释

rancher部署java服务 rancher部署应用_mysql_13

2.14 安全/主机设置

2.14.1 设置安全规则

主要是设置服务访问权限。

rancher部署java服务 rancher部署应用_Pod_14

2.14.2 CPU和内存

设置最低内存256M最高内存1G,设置CPU使用率25%(福哥的虚拟机是双核的,一个核心是1000,两个就是2000,那么25%就是500)。

rancher部署java服务 rancher部署应用_mysql_15

3. 查看

3.1 列表

创建完服务回到服务列表,等部署完成了可以看到服务状态是浅绿色的激活状态。

rancher部署java服务 rancher部署应用_Pod_16

3.2 详情

点击服务“mysql”进去可以看到服务详情,这里可以手动增加Pod或者减少Pod,还可以看到一些服务参数和状态。

rancher部署java服务 rancher部署应用_容器_17

3.3 Pods

下面有Pods列表,可以看到当前服务有哪些Pod,都是处于什么状态。

rancher部署java服务 rancher部署应用_docker_18

3.4 容器

点击一个Pod进去可以看到这个Pod后面的容器的运行状态。

rancher部署java服务 rancher部署应用_容器_19

4. 管理

4.1 命令行

可以在服务列表里面服务的右侧的三个点里面选择“执行命令行”,进入终端模式。

rancher部署java服务 rancher部署应用_rancher部署java服务_20

在终端模式下就可以像SSH那样去操作服务了。

rancher部署java服务 rancher部署应用_Pod_21

5. 总结

今天福哥带着同学们学习了使用rancher部署MySQL服务的方法。

因为这是福哥第一个通过rancher部署的服务,所以讲解的比较细致,后面再部署其他服务的时候就会讲的比较简单一些了,初学者童鞋们可以以这一篇教程为参考试试部署其他服务看看。