使用Docker和saltstack构建运维paas管理平台

扯淡开始:

       最近有些忙,换了份差事,开始做纯开发了。但是还放不下运维的那些东西。 现在的运维朋友最常说的可能就是运维自动化了,刚培训出来的小孩,也是满口的自动化管理,让你听的发蒙 。  呵呵  !  只是有些时候环境的部署虽然有自动化的脚本定制,但是还是会耗时间,运气差了会安不上 。 现有不少公司学的聪明了,针对一些服务做了模板的定制,比如利用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容器 。 


原文:http://rfyiamcool.blog.51cto.com/1030776/1543840 


管理的话可以调用docker remote api,但个人不太喜欢。 既然打算用python做平台开发,docker 又提供了docker-py这个完美的api。 


这里题外说下,saltstack docker的一些官方的应用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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的使用,那下面的这玩意也绝对可以做出来了。 


使用Docker和saltstack构建运维paas管理平台


原文:http://rfyiamcool.blog.51cto.com/1030776/1543840 


使用Docker和saltstack构建运维paas管理平台


运维平台也做了不少,不知道为啥现在总是提不起精神 ~   啥事做多了也就干吐了,别想歪了。  呵呵


有时间再说,忙 ! 




 本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1543840,如需转载请自行联系原作者


上一篇:用python计算圆周率PI


下一篇:ubuntu安装samba,实现windows访问