摘要:老徐是一个开源的企业级全栈化容器部署及管理平台。为容器提供一揽子基础架构服务兼容的网络服务存储服务主机管理负载均衡防护墙让上述服务跨越公有云私有云虚拟机物理机环境运行,真正实现一键式应用部署和管理。已有超过万次下载,生产环境的应用。
老徐RancherSunday, 8 April 2018
Rancher是一个开源的企业级全栈化容器(Docker)部署及管理平台。https://www.cnrancher.com
Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务、存储服务、主机管理、负载均衡、防护墙……
Rancher让上述服务跨越公有云、私有云、虚拟机、物理机环境运行,真正实现一键式应用部署和管理。
已有超过8000万次下载,15000+生产环境的应用。搭建
虚拟机搭建 Rancher 环境
环境说明:
Mac
虚拟机采用 VirtualBox
容器引擎采用 Docker 17.12.1-ce
容器云平台采用 Rancher 1.6.15
最终效果:
可以在 Rancher 云平台中部署 Docker 应用
预备 安装 Docker 环境请首先下载并安装 Docker Toolbox,Docker Toolbox中包含了VirtualBox,VirtualBox可以也多带带安装最新的版本。
Mac OS X 10.12.6:
VirtualBox - v5.2.2:虚拟机
Docker Toolbox - v1.10.3:Docker 工具箱,包含了 VirtualBox
可选:更改 VirtualBox 虚拟机的存储位置(免得占用太多主存储器的空间)
$ export MACHINE_STORAGE_PATH="//Volumes/Cloud/Virtual Machines/docker/"下载虚拟机镜像
下载创建虚拟机用的镜像文件~/Downloads/boot2docker.iso,因为后面会多次用到
https://github.com/boot2docker/boot2docker/releases/download/v17.12.1-ce/boot2docker.iso
这里采用docker-17.12.1-ce,不要用过新的版本,rancher 可能不支持创建 Rancher 管理服务器 创建虚拟机
创建虚拟机 rancher 并登录
$ docker-machine create -d virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso rancher $ docker-machine ip rancher 192.168.99.88 $ docker-machine ssh rancher
这里的 IP 192.168.99.88 就是 rancher 管理服务器的地址docker-machine ssh rancher 表示登录到虚拟机
由于众所周知的原因,Docker 下载镜像需要使用镜像服务器
在虚拟机内运行修改Docker的启动配置,加上registry-mirrors
配置(在虚拟机中执行)
$ sudo vi /etc/docker/daemon.json
{ "registry-mirrors" : ["https://xxxxx.mirror.aliyuncs.com"] }
https://xxxxx.mirror.aliyuncs... 是你自己私有的阿里云镜像地址,请去下列地址获得https://cr.console.aliyun.com/
重启(在虚拟机中执行)
$ sudo reboot now
重新进入虚拟机
$ docker-machine ssh rancher
启动 Rancher Server(在虚拟机中执行)
$ docker run -d --restart=unless-stopped --name rancher -p 8888:8080 rancher/server
Rancher Server 本身是一个 Docker 容器
启动时间有点长,请耐心等待,可以用日志查看一下进度(在虚拟机中执行)
$ docker logs -f rancher
浏览器访问
http://192.168.99.88:8888
如果不能访问,可能是还没有启动完毕,请等待一段时间
首次登录,还没有配置访问权限,为了安全起见,首先点击上面的 ACCESS CONTROL 来新建一个本地账号和密码。
创建 Rancher 节点Rancher 管理服务器连接和控制 Rancher 节点(Agent Host),要求这些 Host 上安装了 Docker 并且启动了 rancher/agent 容器
这里创建一个节点rancher01
$ docker-machine create -d virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso rancher01 $ docker-machine ssh rancher01
由于众所周知的原因,Docker 下载镜像需要使用镜像服务器
在虚拟机内运行修改Docker的启动配置,加上registry-mirrors
配置(在虚拟机中执行)
$ sudo vi /etc/docker/daemon.json
{ "registry-mirrors" : ["https://xxxxx.mirror.aliyuncs.com"] }
https://xxxxx.mirror.aliyuncs... 是你自己私有的阿里云镜像地址,请去下列地址获得https://cr.console.aliyun.com/
重启(在虚拟机中执行)
$ sudo reboot now
重新进入虚拟机
$ docker-machine ssh rancher01
从 Rancher Server Web 界面点击 Infrastructure -> Hosts 并且复制步骤 5 的命令行代码,类似如下:
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.10 http://192.168.99.88:8080/v1/scripts/16E1281C7B7053B1CA74:1514678400000:nx3k1p2p2AvJnWR4WHCTBfznFZ8
上述代码即用于 rancher/agent 主机注册到服务器的代码
特别注意:
步骤 4 的 IP 地址最好指定一下,否则可能出现两个节点自动检测到的 ip 一样,导致后面的 ipsec 不正常
在虚拟机内运行上述代码
$ 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.10 http://192.168.99.88:8080/v1/scripts/16E1281C7B7053B1CA74:1514678400000:nx3k1p2p2AvJnWR4WHCTBfznFZ8
同样的操作创建多个Rancher节点
从 Rancher Server Web 界面点击 Infrastructure -> Hosts 即可看到新节点已经加入进来!
检查是否正常如果一切正常则:
每个 rancher 节点上 healthycheck、ipsec 等服务都应该运行正常,即全不是绿色的
每个 Host 的 IP 地址唯一
可以看到各个节点分配的IP 地址 10.42.x.x
进入任意一个节点后可以 ping 通另外一个节点的 10.42.x.x 地址
如果healthycheck、ipsec 服务不正常,老在重启
则有可能是增加节点的时候没有指定 IP,导致 rancher 自动检测出来的 IP 是错误的!!!尝试创建一个应用(Stack)请检查头部的 IP 地址是否重复了,是否正确
直接启动一个 nginx 镜像,看是否能正常访问
从 Rancher Server Web 界面点击 Stacks->Add Stack
Rancher 中的应用叫做 Stack,一个 Stack 可以创建多个服务
点击 Add Stack
输入 name = nginx
点击 Create
点击 Add Service
输入 name = nginx,Select Image = nginx
这里的 Select Image 即 docker 镜像的名称,你可以跑其他 docker 服务
点击 Port Map,暴露端口 8080:80
点击 Create
等待启动完成
启动完成后,点应用nginx进去,再点击某个服务nginx,点 Ports 这个Tab页,上会显示该服务的IP地址,直接点击这个IP地址即可访问这个服务
Port | Host IP |
---|---|
8080 | 192.168.99.101 |
结果
Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.测试 LB 功能
Rancher 的 Load Balancer 其实质是一个 Haproxy
还是刚才的服务,在 Add Service 那个地方点击 Add Load Balancer添加一个 LB 服务
名字随便取,比如 nginx-lb
Target 里选刚才那个 Nginx 服务
左边的 Port 是对外的端口,输入 8888,右边的 Port 是原服务的监听端口,输入80
注意:这里不需要原服务暴露端口,只需要原始的监听端口即可
点击 Create
等待启动完成
启动完成后,点应用nginx进去,再点击某个服务nginx-lb,点 Ports 这个Tab页,上会显示该服务的IP地址,直接点击这个IP地址即可访问这个服务
Port | Host IP |
---|---|
8888 | 192.168.99.101 |
同时,为了测试LB功能,我们把刚才的 Nginx 服务去掉端口映射并增加到2个节点
点服务进去
右上角点 Upgrade
去掉端口映射
点 Upgrade 保存
点左边的 Scale ,变成两个节点
好了,等待一切调整完毕
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27270.html
摘要:对企业而言,很难确定哪个容器管理工具是最好的。在选择容器管理平台时,技术差异虽然不是唯一的,但却是最大的影响因素之一。在选择容器管理平台以及其他工具时,公司主要考量的指标是产品的稳定性。 对IT企业而言,很难确定哪个容器管理工具是最好的。对某一个企业来说复杂的东西,或许对另一个企业而言是灵活且易于扩展的。IT团队一般是通过考量对工具的支持、交互操作性这些方面,来确定哪一个工具是适合自己...
摘要:降低对外包服务团队的依赖,提高业务的敏捷性研发部门实现测试环境自动创建配置和邮件通知,满足持续集成和持续交付的要求,可自动并快速获得基础架构应用配置和代码等各个关键环节的反馈。 2016年对Rancher Labs而言是太重要也太精彩的一年 Rancher 1.0,Rancher 1.1,Rancher 1.2三次重大的版本发布与更新Rancher的累积下载量已达1600万 在中国海航...
摘要:年正在柏林盛大举行,来自等多个开源云原生社区的领先技术专家正汇聚一堂,以进一步推动云原生计算的教育和发展。例如,你还需要诸如负载均衡器和的服务来运行应用程序。负载均衡器可以进行高级定制,以满足用户的各类需求。 想要在生产环境中成功部署容器,你需要的不仅仅是容器编排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大举行,来自Fluented、Kubern...
摘要:年正在柏林盛大举行,来自等多个开源云原生社区的领先技术专家正汇聚一堂,以进一步推动云原生计算的教育和发展。例如,你还需要诸如负载均衡器和的服务来运行应用程序。负载均衡器可以进行高级定制,以满足用户的各类需求。 想要在生产环境中成功部署容器,你需要的不仅仅是容器编排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大举行,来自Fluented、Kubern...
摘要:美国德克萨斯州奥斯汀市当地时间月日,在领域顶级盛会上,所属公司与合作,宣布推出一个基于和的应用程序交付平台云原生平台,简称。计划于明年年初正式发布的,包含了在生产中管理多个集群所需的一切。 美国德克萨斯州奥斯汀市当地时间12月5日,在Kubernetes领域顶级盛会KubeCon上,Ubuntu所属公司Canonical与Rancher Labs合作,宣布推出一个基于Ubuntu、Ku...
阅读 1881·2021-11-17 09:33
阅读 6466·2021-10-12 10:20
阅读 2296·2021-09-22 15:50
阅读 1781·2021-09-22 15:10
阅读 613·2021-09-10 10:51
阅读 616·2021-09-10 10:50
阅读 3018·2021-08-11 11:19
阅读 1775·2019-08-30 15:55