准备两台服务器
192.168.70.120 rancher-server
192.168.70.121 rancher-agent 需要内存大推荐10G
docker官网地址
https://hub.docker.com/r/rancher/server
rancher-server-120节点需要镜像
docker pull rancher/server:v1.6.30
镜像备份 docker save rancher/server:v1.6.30 -o rancher-server.1.6.30.tar 导入镜像 docker load -i rancher-server.1.6.30.tar
rancher-agent-121节点需要镜像
docker pull rancher/agent:v1.2.11
docker pull rancher/scheduler:v0.8.6
docker pull rancher/net:v0.13.17
docker pull rancher/dns:v0.17.4
docker pull rancher/healthcheck:v0.3.8
docker pull rancher/metadata:v0.10.4
docker pull rancher/network-manager:v0.7.22
docker pull rancher/storage-nfs:v0.9.1
docker pull rancher/net:holder
备份镜像
docker save \
rancher/scheduler:v0.8.6 \
rancher/agent:v1.2.11 \
rancher/net:v0.13.17 \
rancher/dns:v0.17.4 \
rancher/healthcheck:v0.3.8 \
rancher/metadata:v0.10.4 \
rancher/network-manager:v0.7.22 \
rancher/storage-nfs:v0.9.1 \
rancher/net:holder \
-o rancher-agent.tar
导入镜像
docker load -i rancher-agent.tar
安装rancher
Docker容器的重启策略如下:
- no:默认策略,在容器退出时不重启容器 on-failure:在容器非正常退出时(退出状态非0),才会重启容器
- on-failure:3:在容器非正常退出时重启容器,最多重启3次 always:在容器退出时总是重启容器
- unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了 的容器
在120节点执行
docker run -itd --name rancher-server --restart=unless-stopped -e JAVA_OPTS="-Xmx4096m" -p 8080:8080 rancher/server:v1.6.30
查看安装日志情况:
docker logs -f rancher-server
启动完成后访问
注:rancher有两种部署方式
单容器部署一 (使用容器内部自带的MySQL数据库)
在安装和部署了Docker容器环境的Linux服务器上,使用一个简单的命令就可以启动一个单实例的 Rancher。
docker run -itd --name rancher-server --restart=unless-stopped -p 8080:8080
rancher/server:v1.6.30
单容器部署二 (使用外部MySQL数据库)
除了使用内部的数据库,你可以启动一个Rancher Server并使用一个外部的数据库。启动命令与之前一 样,但添加了一些额外的参数去说明如何连接你的外部数据库。 使用外部数据库,需要提前创建数据库名和数据库用户,Rancher服务启动后会自动创建Rancher管理 平台需要的数据库表。以下为相关的建库脚本, 可供参考:
CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER
SET = 'utf8';
GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
启动一个Rancher连接一个外部数据库,你需要在启动容器的命令中添加额外参数。
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
--db-host 192.168.70.120 --db-port 3306 --db-user username \
--db-pass password --db-name cattle
大部分的输入参数都有默认值并且是可选的,只有MySQL数据库主机地址配置项是必须配置的。
--db-host 数据库主机名或IP地址
--db-port 数据库服务端口(默认为:3306)
--db-user 数据库用户名(默认为:cattle)
--db-pass 数据库用户密码(默认为:cattle)
--db-name 数据库名(默认为:cattle)
rancher初始化
输入http://192.168.70.120:8080/进入界面
配置环境
rancher-server 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服务,并由 一个或多个用户、团队或组织所管理。例如,您可以创建独立的“开发(dev)”、“测试(test)”及“生产(pro)” 环境以确保环境之间的安全隔离,将“开发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限 给一个小的团队。
选择“Default -->环境管理” 菜单
1. 环境名称:mytest 2. 填写名称,点击“创建”按钮
按照上述步骤,添加项目测试环境和生产环境
添加主机
选择基础架构-->主机 菜单,点击添加主机
1. 主机名称:rancher-agent-121 2. 拷贝脚本 ,在rancher-agent-121服务器上执行脚本
添加应用
点击应用(rancher应用一般是指我们的项目名称)-->全部(或用户) ,点击“添加应用”按钮
1. 应用名称:lagou-bom
NFS服务
官网地址
使用rancher-server的应用商店进行安装,安装前请参考官方给出的帮助文档 https://docs.rancher.cn/docs/rancher1/rancher-service/storage-services/rancher-nfs/_index/
安装NFS
120、121节点都需要安装nfs服务。120节点为nfs服务端。
yum install -y nfs-utils rpcbind
在rancher-server-120节点创建目录
mkdir -p /nfs
chmod 777 /nfs
更改归属组与用户
chown nfsnobody /nfs
或者
chown -R nfsnobody:nfsnobody /nfs
使用NFS4协议方式进行多共享目录配置。所有共享目录的根目录为/nfs/data。服务器端
的/etc/exports文件中的配置为:
vi /etc/exports
/nfs *(rw,sync,no_subtree_check,no_root_squash)
启动服务
systemctl start rpcbind && systemctl start nfs
设置开启启动
systemctl enable rpcbind && systemctl enable nfs
检查配置是否生效
exportfs
showmount -e 192.168.70.120
应用商店
配置NFS服务
应用部署
使用rancher-server的WEB UI界面部署项目。项目所有镜像部署在rancher-agent-121节点。
mysql
基础镜像:docker pull mysql:5.7.31
挂载卷创建
基础架构->存储->添加卷 ,实际上就是在nfs服务器120节点创建一个共享目录
部署mysql服务
如果是本地服务镜像可以把创建前总是拉取镜像去掉,远程镜像需勾选起来。