开始:
最近有些忙,换了份差事,开始搞大数据了。现在做运维朋友最常说的可能就是运维自动化,刚培训出来的小孩,也是满口的自动化管理,让你听的发蒙 。
我有时挺喜欢到阿里云,青云点来点去的,不为别的,就为了感受他的产品系列,尤其是用户体验方面。 现有不少公司学的聪明了,针对一些服务做了模板的定制,比如利用kvm的模板来快速的生成主机。 像linode那样,你买主机,可以直接选定服务类型的模板。
但我们这里说的是 更加低耗的Docker容器,他避免了hypervisor层和虚拟层上面的guest os层的性能消耗。 一台服务器,跑vm主机也就能跑个10几个,当然你也可以超出。如果用docker的话,一般来说承载能力是更强的。
但是docker的缺点也明显,做资源的控制不是那么容易,可能水平不到家呀 !
我曾经用过google的gae 和新浪的云sae,前段时间又稳固而执行了下。又尝试了下 百度的bae,百度的bae也是利用docker开发的。 这三个用法都差不多,申请服务就立马可以用,软件及服务。
和搜狗的一个朋友一直在聊paas运维管理,想要实现一个针对运维方面的云平台,现在一说云,大家一般都是想到的openstack、cloudstack这样的云平台,其实lxc docker的出现,使paas管理实现不是个事 ! 这里简单说下运维paas平台的想法和思路。
以前看过 sohu 云景那边对于docker的分享,感觉不错。 sohu 云景一开始做paas是为了解决运维的,后来才慢慢扩展成一个对外开放的paas。
我想要的功能很简单,一个加强版的shipyard, shipyard 的功能还行,只是缺少一个写个流程性质的东西。当然你可以二次开发。 但我觉得没那个必要了,我们可以自己写个简单的集成权限控制和管理的paas平台。
权限管理可以配合cmdb资产的对比。定位到你的主机,你只能申请那个网络区域的服务器机组。 你的主机是南苑的,只能申请南苑的docker容器 。
注明下文章转自 blog.xiaorui.cc
管理的话可以调用docker remote api,但个人不太喜欢。 既然打算用python做平台开发,docker 又提供了docker-py这个完美的api。
这里题外说下,saltstack docker的一些官方的应用。
built corp/mysuperdocker_img: docker.built: - path: /path/to/dir/container pulled ubuntu: docker.pulled: - tag: latest pushed corp/mysuperdocker_img: docker.pushed installed mysuperdocker-container: docker.installed: - name: mysuperdocker - hostname: superdocker - image: corp/mysuperdocker_img loaded mysuperdocker-file: docker.loaded: - name: mysuperdocker - source: salt://_files/tmp/docker_image.tar running my_service: docker.running: - container: mysuperdocker - port_bindings: "5000/tcp": HostIp: "" HostPort: "5000" run /finish-install.sh: docker.run: - container: mysuperdocker - unless: grep -q something /var/log/foo - docker_unless: grep -q done /install_log
算了看起来着实有些费劲,咱们自己把docker-py搞成saltstack的模块,这样就很容易扩展应用,不用太关注安全,像如果用mq和rpc的话,还要想一些应用层面的安全问题,甚是蛋疼。
下面做了小片的功能 , 其实主要还是想法,大家有时间都在自己公司折腾实现下吧。 关于文档 看saltstack的api,然后用docker api的使用,那下面的这玩意也绝对可以做出来了。
下面是关于申请paas的表单。
有时间在更新下….
吼吼