Rancher 中容器、服务、应用的概念

 

  三个概念:容器:container、服务:service、应用:stack。刚使用Rancher时,有一些疑问,既然已经有容器这个概念了,在容器中就可以运行各种应用,比如NginxTomcatMysql等容器本身就可以实现一些功能,为什么还要创造“服务”、“应用”的概念?

  一个“服务”可以由多个“容器”副本组成,这些副本数量越多,提供的计算能力越强。当高峰过去以后,不需要那么多处理能力时,使用“服务”可以很方便地减少容器的数量,达到节省资源的目的。

  一个“应用”可以包含多个“服务”,这样的一组“服务”之间互相配合,实现一个“应用”功能。比如一个“论坛”应用示例,由1个“负载均衡服务”(含2HAProxy容器)+1Nginx Web服务(含NNginx容器)+1MySQL数据库服务(含MMySQL数据库容器)组成。这么多服务、容器共同呈现给用户一个“论坛”应用。

  打个比方:以“公司”的组织结构来说,一个夫妻店,可以看做一个小“公司”,两个人就够了,不存在管理问题,不需要设置部门,遇到事情两个人商量商量就可以了。但一个1000人的集团“公司”,怎么才能管理好呢?1000个人之间互相商量?或者让总经理直接管辖1000人?

  显然不是这样的。一般集团公司会分成多个集团“子公司”,子公司会设多个“业务部门”,每个人都属于不同的部门。这样总经理只要管好子公司的领导就好了,子公司的领导再管业务部门的领导,业务部门的领导管理部门内的员工。这样整个集团公司就可以正常运转。

    部门人员不够,直接扩招部门的人员,部门的业务处理能力就会增强。

    公司规划调整,创建一个新的子公司,就可满足拓展新业务的需要。

  在Rancher Docker中,“应用”、“服务”、“容器”的概念就和“子公司”、“部门”、“员工”一样。对应关系如下:

  集团公司  --->多个子公司  --->多个部门  --->多个员工

  容器云平台--->多个“应用”--->多个“服务”--->多个“容器”

 


01-1个kubernetes应用由12个服务21个容器组成


02-1个kubernetes应用的服务之间的关系图


03-自定义的应用-服务-容器之间的关系


04-自定义的应用-服务-容器之间的关系




Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐