构建微服务实验环境(三):Rancher 管理平台
【摘要】微服务架构目前最流行的方案(最佳实践)是容器集群。AWS 的 ECS、Docker 的 Swarm、google 的 Kubernetes(K8s),apache 的 mesos,包括 Rancher Labs 的 Rancher 。 建议使用 AWS 或 阿里云 等共有云部署,会有更多技术支持,让你体验不同方案的优势。这里仅为了让你更好理解容器集群工作原理,介绍在 Centos 集群上部署 Swarm、K8s、 Rancher 的方案。
(1)容器与应用: 讲述 centos docker的安装,仓库、镜像、容器、服务的概念, dockerfile,compose 文件,容器管理图形界面,以单机操作为主线。
(2)Docker Swarm 集群:讲述集群(cluster)manager,worker,node 的概念与应用在集群部署。重点讲述容器网络、存储管理、集群管理、服务发现等知识。
(3)Rancher 管理平台:讲述多租户多主机容器运行管理平台 Rancher 的租户、环境、主机、环境模板概念与应用。包括 Rancher 自带集群管理 Cattle 的栈、服务的管理,需要读者对比与Docker Swarm 集群在容器基础服务、管理方式方面的差异。
1、简介
Rancher(牧场主)是以在生产环境中运行容器为目标而构建的开源软件平台*。全图形化 UI 界面,简单易用。文档支持比较完善,特别是中文资源比较丰富。
- 中文网站:http://www.cnrancher.com/
- 中文手册:http://www.dockerinfo.net/247.html Docker info 有系列支持文章(容器服务发展太快,谨慎对待)。
- 最新文档(英文,201707): http://docs.rancher.com/rancher/v1.6/en/
特点:
- (1)基础设施编排(Orchestration):Rancher 的计算资源可以是公有云或私有云的 Linux 主机,它们是虚拟机或物理机。Rancher 为它们提供了网络,存储,负载平衡器,DNS 和安全性等基础架构服务。
- (2)容器编排与调度: Rancher 提供了自己的容器 (Cattle,成为“牛”)的编排服务,也支持 Docker Swarm,Kubernetes 和 Mesos 等容器集群服务。
- (3)应用目录:Rancher 提供应用目录管理,帮助客户一键部署集群应用
- (4)企业级控制:Rancher 支持灵活的用户验证插件,并与Active Directory,LDAP和GitHub 进行用户身份验证集成。
Rancher 总体结构图:
2、快速入门
(1) 准备一台管理机
管理机是一台安装 docker 的 64 位 linux 主机,内核版本 3.10+(用 uname -a
检查)。
假设该机器(虚拟机)配置是: hostname = rancher-m1, ip=192.168.56.120,运行 Centos mini版。
执行命令:
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
UI 暴露在该机器 8080 端口,用浏览器访问 http://192.168.56.120:8080 ,看到 Rancher 管理界面。
第一次进入&#x