使用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的使用,那下面的这玩意也绝对可以做出来了。 


wKiom1P9-8SyvFN4AAHdAB-AefA737.jpg


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


wKioL1P9_ObBNe4KAAHN0ZYVW80288.jpg


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


有时间再说,忙 ! 




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


优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/402323

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。