rancher搭建+基本操作
Rancher搭建首先rancher需要安装了docker的linux环境,我的系统版本为cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)在docker的基础上启动rancher服务器,Rancher 服务器是一个 Docker image,所以其软件本身不需要安装,只需要执行 Docker 命令下载并且成功运行 D...
Rancher搭建
首先rancher需要安装了docker的linux环境,我的系统版本为
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
在docker的基础上启动rancher服务器,Rancher 服务器是一个 Docker image,所以其软件本身不需要安装,只需要执行 Docker 命令下载并且成功运行 Docker 服务器镜像即可。
执行命令
sudo docker run -d --restart=always -p 8080:8080 rancher/server
命令行参数解释:
- docker run 的 -d 参数标示在后台运行
- –restart=always 容器如果异常停止自动重启
- -p 8080:8080 把 Rancher 服务器的UI 对外服务(容器内)的端口 8080(命令中第二个8080) ,绑定到到宿主机的8080(命令中第一个8080) 端口。
- 后面跟的镜像名 rancher/server ,Docker 会首先检查本地有没有这个镜像,如果没有,Docker 会去 Docker Hub 将这个镜像下载下来,并且启动。
启动容器并指定端口,如果没有rancher/server镜像会自动下载。执行完成后查看镜像与容器运行情况:
Unable to find image 'rancher/server:latest' locally
latest: Pulling from rancher/server
bae382666908: Pull complete
29ede3c02ff2: Pull complete
da4e69f33106: Pull complete
8d43e5f5d27f: Pull complete
b0de1abb17d6: Pull complete
422f47db4517: Pull complete
79d37de643ce: Pull complete
69d13e08a4fe: Pull complete
2ddfd3c6a2b7: Pull complete
bc433fed3823: Pull complete
b82e188df556: Pull complete
dae2802428a4: Pull complete
c9b17cca6fc4: Pull complete
41cc2c1ffe8c: Pull complete
ae49123ce3ae: Pull complete
2fe8cae58437: Pull complete
ab963aad4fc2: Pull complete
2dd932ceaa80: Pull complete
71ff5e84e401: Pull complete
0be35ae80349: Pull complete
ae4f98e342e9: Pull complete
Digest: sha256:cbe7d290460dfa83981d02506ff2588fdb3d5d988641c630c6f10bb7211fbfc6
Status: Downloaded newer image for rancher/server:latest
466bd0069bec617b6a2cb9e963a6e5716c2db04252fe917025b1bf84c6484dd2
以上步骤完成后,查看本机的ip地址,我这里用127.0.0.1,在浏览器输入 http://127.0.0.1:8080/ ,登录到rancher官网,为安全起见,设置管理账户:
根据提示将用户信息填写即可
在右下角有系统语言设置,选择中文
Rancher操作
添加主机
添加主机操作,根据网站指引操作,生成一条命令,在docker中运行,
sudo docker run -e CATTLE_AGENT_IP="10.X.X.70" -e CATTLE_HOST_LABELS='ip=70' --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://10.X.X.70:8080/v1/scripts/FF477B0D60DD9DECDF05:1514678400000:DSOvE2hEQFNLWf2626b1OP3Jg
会自动下载rancher/agent镜像
当在宿主机中运行完成后,网站中会显示成功添加主机
上面我添加了4个主机
Rancher的环境
Environment在Rancher中被定义为主要用于容器编排和管理的环境,比如Dev或者TEST或者PROD环境等等。目前Rancher支持如下四种:Cattle/Kubernetes/Mesos/Swarm
, Cattle是Rancher自己内置的缺省的编排环境,缺省的Default的即为Cattle类型的。
添加stack、添加、升级service、添加负载均衡、外部服务、服务别名、服务的端口绑定、服务链接、环境变量、健康检查等
在这里添加stack:myapp。为其添加服务nginx,镜像为nginx,暴露端口8888。
未完待续…
某段时间后
rancher在按照上面的部署,大概再用了5个月后吧,登录服务器查看时发现好多组件都失效了,进入管理平台,会发现rancher安装后应该默认会自动升级,然而自动升级会有问题都会导致rancher/healthcheck
等基础服务一直处于重启状态。一开始我是将rancher/server
直接重启:docker restart container_id
以及组件重启,但是发现仍然是失败!查看容器日志,基本上都是内部mysql数据库中的异常;
最终的解决方法是将 rancher/server 的镜像删除,然后重新pull下来最新的latest版本,然后重新执行;但是注意里面的应用需要重新部署一遍;
这里非常重要的一件事情是业务数据一定不要直接放在容器里面,一旦容器被rm掉,那数据就没有了,最好的办法总是需要数据目录挂载到本地 采用 docker run -d -v 本地目录:容器目录 …(docker下),rancher中配置挂载点
举个例子:mysql的数据挂载:
/home/rancer/mysql-data/mysql:/var/lib/mysql
,另外注意,目录权限 sudo chown -R 102:105 /home/rancher/mysql-data
更多推荐
所有评论(0)