【编者的话】以Docker为代表的容器技术风风火火,一些先锋型的Startup和互联网公司已经尝到了甜头,大量的金融、保险、电信等企业客户也在摩拳擦掌、跃跃欲试。然而,对这些企业的CIO来说,首先要考虑的问题就是“容器技术如何在我的企业平稳落地”。本次交流与大家分享Rancher的解决之道,内容将包括Rancher这一开源容器管理平台的诸多“企业级”功能特性的介绍以及通过Rancher构建的企业私有容器服务的典型应用场景。
@Container容器技术大会将于2016年1月24日在北京举行,来自CoreOS、红帽、SAE、七牛、爱奇艺、微博、腾讯、去哪儿网、美团云、京东、蘑菇街、惠普、暴走漫画、光音网络等知名公司的技术负责人将分享他们的容器应用案例。
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
Q&A
Q:rancher-compose 和 docker-compose 关系?Q:Rancher自己有持续集成的工具?
A:rancher-compose是对docker-compose的扩展,docker-compose 目前的能力太有限。
Q:Rancher产品是付费还是开源的呀?
A:我们本身产品中不带CI,但会在CATALOG里提供这样的工具让客户一键部署,我想这个比直接提供CI集成更COOL
Q:Rancher的网络是如何实现的?
A: 我们是开源的,但也会有对应的企业版,像CentOS 和RHEL一样。
Q:我接触Rancher有两个月了,感觉是目前Docker管理平台里比较出色的。stack、service管理逻辑很好。不过目前还是0.4*版,迭代应该比较频繁。现在上业务的话,后期升级会有什么影响么?
A:简单来说,我们目前是IPSEC VPN+基于DNS的服务发现。
Q:私有网络与公有云之间的数据安全是怎么控制的?
A:升级非常容易,且向后兼容,在这一点上秉承CloudStack的设计原则。
Q:请问Rancher 在多租户隔离方面做了那些事,采用哪些安全手段?
A:通过ReverseNAT 下采用IPSec Tunnel,也就是数据是加密的,但要开在服务器间开两个UDP端口。
Q:相比于Kubernetes、Mesos和 Swarm、Rancher的优势在哪里?
A:容器的隔离是和虚拟机不太一样,目前我们用“环境”的概念做多租户隔离,每个“环境”有自己的容器主机和容器。
Q:请问Rancher是自己实现了一套容器管理工具吗,能介绍一下你们用到的技术栈吗?
A:我们和上述容器编排不是竞争关系(虽然目前编排是我们自己写的),我们会根据用户的需求提供Swarm、Kubernates甚至是Mesos的编排方式。 但容器编排不是全部企业容器服务内容。
Q:Rancher推荐运行在什么样的宿主机之上,Ubuntu or CentOS?
A:我们是完全自己实现的。借鉴了之前团队做的CloudStack的成功经验。
Q: 我看新版本多了一个存储池storage pool这个是什么作用,可以添加集群存储来供容器使用么?
A:都行,Rancher可以管理标准Docker 主机。
Q:请问catalog离线可以使用吗?
A: 这是很牛的一个与存储有关的功能,请大家看视频介绍:
http://rancher.com/how-rancher ... rage/。
Q:请问你们跟Docker公司是如何合作的?是什么一种关系?他们会推广你们的产品吗?
A:很多企业都是没有互联网访问的,我们支持从本地镜像库Registry中拉images。
===========================
A:都是硅谷公司,有深入的技术合作,很多Docker 组件如libcompose都是我们贡献的。
以上内容根据2015年12月15日晚微信群分享内容整理。分享人:马洪喜(Linkedin:Hongxi Ma),专注于企业客户的虚拟化、云计算解决方案。目前担任Rancher公司架构师,负责Rancher中国业务开展中技术方面的工作。曾供职于Citrix公司咨询服务部,Oracle公司Linux和OracleVM研发团队。 DockOne每周都会组织定向的技术分享,欢迎感兴趣的同学加微信:liyingjiesx,进群参与,您有想听的话题可以给我们留言。
有疑问加站长微信联系(非本文作者)