基于docker的私有云建设

#关于docker docker的基本介绍这里不再啰嗦,但是这里要强调一下,docker并非是虚拟机,我在平时老看见有人将docker和虚拟机等同,我认为这是错误的,虽然docker有虚拟化的影子,用起来跟虚拟机很类似,但是他的初衷是为了解决环境一致性的问题才出现的,记住他的口号"一次构建,到处运行"。 使用docker时候尽量使用最新的稳定版,老版的docker存在各种各种的兼容和稳定性问题,操作系统也尽量使用3.1版本的内核。

#容器管理和调度 容器管理和应用调度采用mesos+marathon的方式进行,直到现在为止,我觉得kubernetes是google的一套东西,如果采用,需要google一整套的东西才能完全支持将应用跑下去。其中便会有各种各样的限制。至于到底要采用什么样的调度管理方案,各人应该看自己的情况。不过mesos+marathon的方式还算是开放的,起码api很多,很方便进行包装。

##mesos master 负责收集slave上报的资源,并且提供申请资源的接口,可以进行粗粒度的资源调用,接受slave上报的健康状态进行分析处理,收集保存所有启动的task信息,管理所有的framework的注册。

##mesos slave slave除了会上报自己的资源状态外,slave还会接受master发送的命令,将其转化成docker的cli命令。

##marathon marathon其实处于最上层,负载整个应用的配置和操作。

整体的结构如下:

输入图片说明

说明一下:比如marathon上启动一个应用,marathon根据配置的cpu和mem向Mesos申请资源,mesos分析之后返回资源offer,marathon开始向Mesos下发任务,slave将下发的任务翻译成docker的命令,然后调用指向,完毕之后返回指向结果。

#自己的云平台 其实上面的简单架构,外面有很多文章介绍,几乎在docker一出生,面临的容器管理的问题,就一直有新的东西在往出冒。但是无论是marathon还是mesos,他并不能这样赤裸裸的就拿来用,你需要对他们进行包装,原因也很简单,一个业务往往不止由一个app组成,所有的app和业务在自己的公司和部门总要和用户权限管理挂钩,最后呈现给运维和产品经理的东西绝对不是让他们学习mesos和marathon。 所以你可能需要做下面的东西:

  1. 发布管理
  2. 构建平台
  3. 服务发现
  4. 业务管理
  5. 镜像管理
  6. 资源收集
  7. 日志管理
  8. 授权管理

###关于镜像 输入图片说明 Docker容器是建立在Aufs基础上的,Aufs是一种Union FS, 简单来说就是支持将不同的目录挂载到同一个虚拟文件系统下,并实现一种layer的概念。Aufs将挂载到同一虚拟文件系统下的多个目录分别设置成read-only,read-write以及whiteout-able权限,对read-only目录只能读,而写操作只能实施在read-write目录中。重点在于,写操作是在read-only上的一种增量操作,不影响read-only目录。当挂载目录的时候要严格按照各目录之间的这种增量关系,将被增量操作的目录优先于在它基础上增量操作的目录挂载,待所有目录挂载结束了,继续挂载一个read-write目录,如此便形成了一种层次结构. 如果伴随着镜像构建次数的增多,镜像一直在上一个镜像的基础上进行更新,那么镜像会像滚雪球一样越来越大,这个问题会让docker构建新镜像时使用的内存更大,docker启动容器时耗费的资源也会更大,所以实际做镜像的过程中

转载于:https://my.oschina.net/xueyi28/blog/683659

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值