容器服务如何在企业客户落地?Rancher 解决之道分享
Docker 的优势和趋势我想不必再赘述,那么对于非互联网公司的传统企业客户,以及我们大量的围绕企业客户做集成、交付解决方案的服务提供商,需要考虑的一个问题就是怎么样把容器技术以高质量、低成本、易维护的方式落地到企业的生产环境中来。换句话说,如果把容器技术比做 KVM 和 Xen,我们需要一个容器界的 OpenStack 或是 CloudStack。
Rancher 就是定位在提供“企业私有容器服务”这一核心业务需求上,并提出构建 “企业私有、混合容器云”、”像 AppStore 一样的企业应用商店实现一键式应用部署”、”CI/CD 部署流水线优化践行 DevOps ” 以及“轻量级 PaaS 平台”等多个被企业客户所关注的一揽子解决方案。
Rancher 公司是一家位于硅谷的美国公司,创建人梁胜博士和他的团队一直是专注于计算技术在企业落地工作的,梁博士创建的 CloudStack 项目是很多大的公有、私有 IaaS 云的支撑平台,他在早期时还是 SUN 公司 JVM 和 JNI 的开发带头人,所以“云计算”、“企业客户”是 Rancher 公司基因当中的两大关注点。
纯粹的 Docker 和可以落地到企业生产环境的容器平台还是有很大距离的,需要做的工作至少有以下这些方面:
举几个例子, Rancher 可以统一管理企业内部多个数据中心的虚拟机、物理机容器环境,以及公有云(阿里、AWS 等)内的容器主机,允许我们通过标签把业务灵活的分配到不同属性的”云”上。
以下调度策略为:把容器运行在阿里云上,并且容器尽量分散在多台阿里云主机,以提高可用性。
为了实现公有云和私有云间以及同一片云的主机间的容器通讯,Rancher 基于 SDN 技术创建了 overlay 容器网络:
当不同云和不同主机上的容器可以通过容器网络通讯后,再配合 Rancher 实现的负载均衡、服务发现、健康检查机制就可以帮助企业实现快速业务搭建和扩展,手动或是自动的实现容器甚至是容器主机的跨云动态扩容,这一点对“双11”这样的场景特别有用。
企业应用商店和一键部署是另外一个非常强大的功能,这引申出 Rancher 对容器云未来发展方向的一个预见:单纯提供容器编排能力是不够的,提供容器应用的配置管理更能让“以应用为中心”这一容器技术特点发挥得淋漓尽致。因此我们提供了一个开放式的框架,在兼容 docker-compose.yml 的基础上把与应用配置相关的信息记录在 rancher-compose.yml 中,并且允许用户以灵活的方式实现对任何应用的配置管理:你只要提供 docker-compose.yml 和 rancher-compose.yml,Rancher 会自动在应用商店中探测到你上架的应用并支持管理你定义的配置项。
上架应用示例:
应用的配置管理:
基于上述技术,可以做的事情有很多,比如通过一个高可用的 MySQL 服务实现一个轻量级的 PaaS 平台:
实现对 SysDig 监控云的对接等:
Hadoop 动态扩容的支持等:http://www.iqiyi.com/w_19rt9qkn7d.html
再次强调,上述能力并非是 Hadoop 进产品里的,而是通过任何人都可以创建的配置文件完成的,比如:大家可以通过这种技术实现 WebLogic 应用部署或是 Zabbix 监控方案等。
CI/CD 优化部署流水线是 Docker 的拿手项目,Rancher 通过上述一键部署能力提供快速构建的支持。
上面说的主要还是容器管理平台 Rancher,我们还有一款产品是 RancherOS,它是一个只有20几M的操作系统,专门运行容器的,可以看到它的所有系统进程都是在容器里运行的,性能好,升级维护特别方便。更 cool 的是我们还支持把虚拟机(Windows or Linux)跑在容器里,这样对于还没有上 IaaS 云的企业来说,直接上容器云也是一个不错的选择。
Rancher 还有很多其它超 Cool 功能,比如用户和权限管理,多租户管理,界面上集成日志和 shell 访问,API 调用器等,由于时间关系这里不多说了。有兴趣的网友请关注我们的Blog:http://rancher.com/blog/。
说得再多都不如大家自已上手亲自感受一下,一条命令安装好 Rancher 的容器管理平台:
sudo docker run -d --restart=always -p 8080:8080 rancher/server