rancher初级(搭建+基本操作+web应用部署)

Rancher搭建

首先rancher需要安装了docker的linux环境,我的系统版本为

docker的基础上启动rancher服务器,Rancher 服务器是一个 Docker image,所以其软件本身不需要安装,只需要执行 Docker 命令下载并且成功运行 Docker 服务器镜像即可。

执行命令 sudo docker run -d --restart=always -p 8080:8080 rancher/server

启动容器并指定端口,如果没有rancher/server镜像会自动下载。执行完成后查看镜像与容器运行情况:

以上步骤完成后,查看本机的ip地址,我的地址为192.1688.1.109,在浏览器输入http://ip:8080/,登录到rancher官网,为安全起见,设置管理账户

然后进行添加主机操作,根据网站指引操作,生成一条命令,在docker中运行

$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.1.109:8080/v1/scripts/9F78F0DF10BCF4216AC7:1483142400000:hSv7KrbGnhQy3IJmJWYhWvxemF4

会自动下载rancher/agent镜像

当在宿主机中运行完成后,网站中会显示成功添加主机

Rancher的环境

Environment在Rancher中被定义为主要用于容器编排和管理的环境,比如Dev或者TEST或者PROD环境等等。目前Rancher支持如下四种:Cattle/Kubernetes/Mesos/Swarm, Cattle是Rancher自己内置的缺省的编排环境,缺省的Default的即为Cattle类型的。

添加stack、添加、升级service、添加负载均衡、外部服务、服务别名、服务的端口绑定、服务链接、环境变量、健康检查等

        在这里添加stack:myapp。为其添加服务nginx,镜像为nginx,暴露端口8888。

然后添加负载均衡,分担nginx服务的流量,在这里目标服务的端口需为镜像内部80端口,若设置为暴露出的8888端口则访问失败

通过负载均衡暴露出的端口90访问结果如下:

再添加外部服务,指向第一个nginx服务,并连接其暴露出的端口8888

然后再添加一个负载均衡,指向外部服务,暴露91端口:

访问91端口,得到同样的访问结果:

在这里注意负载均衡与外部服务的区别,负载均衡需要配置服务自身的端口,而外部服务需要为其配置其所链接服务所暴露出的端口

关于环境变量、服务链接可见接下来的部署web项目时的具体操作。

 

Web应用部署

添加stack webapp

为其添加服务classnet,其中为web内容以及服务器tomcat。服务镜像来自之前完成web容器化时自己所制作镜像,该镜像以上传至阿里云私有仓库。所以在添加该服务前,首先要将私有镜像仓库添加到rancher的镜像仓库:

然后添加classnet服务,暴露端口8899,通过该端口访问tomcat,测试是否添加成功:

然后添加数据库服务,在这里选择mysql镜像,除了配置端口,还需要为数据库设置环境变量,声明数据库访问的密码MYSQL_ROOT_PASSWORD与数据库名称MYSQL_DATABASE,这两个环境变量的具体值需要与web项目中的配置保持一致,具体环境变量的配置可以通过查看mysql官方镜像的说明:

再返回classnet服务,升级服务,设置服务连接,连接至mysql服务:

为网站添加负载均衡,暴露端口10086

通过负载均衡所暴露端口访问网站主页:

 

posted @ 2017-08-18 09:38  gentleman_c  阅读(61103)  评论(2编辑  收藏  举报