使用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,如需转载请自行联系原作者


相关文章
|
5天前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
本文介绍了Docker和Kubernetes在构建高效微服务架构中的应用,涵盖基本概念、在微服务架构中的作用及其实现方法。通过具体实例,如用户服务、商品服务和订单服务,展示了如何利用Docker和Kubernetes实现服务的打包、部署、扩展及管理,确保微服务架构的稳定性和可靠性。
33 7
|
4天前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
25 6
|
3天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
12 4
|
4天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
16 3
|
8天前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
9天前
|
jenkins 测试技术 持续交付
Docker最佳实践:构建高效的CI/CD流水线
【10月更文挑战第17天】在现代软件开发实践中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为提高开发效率和软件质量的重要手段。Docker作为一种容器技术,为构建一致且隔离的开发环境提供了强有力的支撑。本文将探讨如何利用Docker来优化CI/CD流程,包括构建环境的标准化、镜像管理以及与CI/CD工具(如Jenkins、GitLab CI)的集成。
30 5
|
8天前
|
JavaScript Docker Python
下个时代的开发工具-Nix:声明式的运行环境构建器、简单场景下的docker替身
Nix 是一个独特的包管理工具和构建系统,采用声明式方法管理软件包和运行环境。它通过精确控制依赖关系和环境配置,确保软件的可重复性、隔离性和可追溯性。Nix 支持多语言开发环境,提供声明式配置、环境隔离、回滚与版本控制等核心功能,适用于复杂开发场景,有效解决依赖冲突和环境不一致问题。
|
4天前
|
存储 运维 监控
运维技术深度解析:构建高效、稳定的运维体系
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的运维体系
26 0
|
4天前
|
人工智能 运维 监控
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
13 0
|
4天前
|
机器学习/深度学习 边缘计算 运维
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
10 0