深入理解Openstack自动化部署
前言
说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜。一方面的确由于岗位的变化,导致了工作变得越来越忙, 一方面写作的精力放在了公司技术公众号,内部技术和管理文档,摄影博客上了。
我一直很感慨时代的变化,读研的时候,我还在图书馆翻着一本本厚厚的专业书,短短几年后的今天知识获取来源已变得非常广泛:博客,公众号,微博,技术分享会等等,书籍的影响力反而变得渺小了。
但我内心里一直非常渴望自己能够静下心来,把近年来获取的知识和经验整理,并作专注性较强的输出。
因此,很高兴6月的第一周,由一帮大龄儿童们一起发布了《深入理解Openstack自动化部署》的第一个正式版本。说起部署这个事儿,一直伴随着Openstack诞生到现在,称得上是一个非常古老的话题了,然而在最近Austin Summit上,我们依然可以看到大量与部署有关的topic。
部署发展到今天,除了向部署速度更快和支持能力更强的方向发展,更重要的是部署作为运维体系中的一个重要环节,所有人都在考虑它的延展性,也就是如何能使用统一的平台或工具来完成Openstack集群的安装,配置,变更,升级和状态管理,因此如何选项显得非常重要。
为什么是PuppetOpenstack Modules?
Puppet是目前CMS领域中的领头羊,而PuppetOpenstack Modules项目(简称POM)诞生于12年,13年中进入到Openstack官方孵化项目(Stackforge),随后又成为了Openstack官方Governance项目。POM之所以能取得成功的原因主要在于其获得了大量公司和工程师的参与,甚至有一些主流的部署工具直接集成了POM:如Mirantis的Fuel,Redhat的Packstack, Openstack官方的TripleO,UnitedStack的Ctask都直接使用POM的upstream codes作为Openstack服务的部署模块,并且连续7次在Openstack社区的User survey中,位列deployment tools领域的第一。
我们是谁?
UnitedStack DevOps Team是一支很年轻的团队,不过我们持续专注在Openstack部署领域已有5个年头,积累了一些经验,因此想和各位分享:
- 在开源社区:早在12年底,POM项目尚处于雏形阶段我们开始参与其中,并促成了13年 POM项目从Puppetlabs官方项目转入到Openstack社区,我们对于POM项目的贡献也得到了社区的认可,其中xingchao在13年的时候,成为该项目的核心开发人员。
- 在工程领域:截止到2016年5月,我们一共使用了96个puppet modules, 6台PuppetMaster服务器, 集中管理着87个Openstack集群, 7套不同的部署环境,支撑了近3500台Openstack集群的服务器,我们经历了Puppet版本的数次升级,内部代码的多次重构和POM的多次版本升级,每日Openstack线上集群的频繁变更,我们也经历了Puppet,PuppetDB的性能调优,踩过了无数个看不见的明坑和暗坑。
本书讲什么?
本书是关于Openstack自动化部署工作核心部分的讲解:PuppetOpenstack modules和相关基础modules的深入分析和最佳实践。
通过这本书,你可以学习到:
- 当前最流行的部署项目PuppetOpenstack的代码级深入讲解
- Openstack Mitaka版本核心服务的部署讲解
- 关于配置管理的最佳实践总结
- Puppet的一些使用技巧
- 如何一本正经地胡说八道
举个栗子,在puppet-keystone模块章节中,我们首先从Keystone的基本概念开始介绍,试图为读者理清楚v3中关于domain,group,project,role,user之间的关系。然后我们通过一个快速部署keystone的实例让你先睹为快,接着我们就深入到核心代码中去讲解是如何做到的,最后我们会对本节重要的内容做一个小结。当然光看不练就是假把式了,我们为读者们精心准备了一些习题,让读者动手实际练习,加深理解。
下个版本?
我们认为docs is codes。 因此,本书也遵循常见的release规范。在初期,我们会在每月第一周发布新版本以保持快速地迭代,同时我们也会保持对于已完成章节的内容更新,如何你想要了解更多细节,请参阅本书最后的 版本日志 一节。
如何参与?
本书遵循开源管理方式,使用markdown语法编写,git作为版本控制,并托管在github上,如果你也对本书感兴趣,有任何改进的建议和想法,欢迎加入我们一起来添砖加瓦。
更多细节请参与本书的 如何参与 一节。
关于出版
目前虽然有多家出版社联系,但我没有答应,一是本书还有大量的后续编写计划没有开始,二是觉得一本书至少得经历多次的迭代才能变得成熟和稳定。所以,如何问我什么时候会出纸质版本?也许要等到我们发布v1.0版本的时候吧:D
深入理解Openstack自动化部署的更多相关文章
- Devstack 多节点自动化部署
本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...
- K8S(16)集成实战-使用spinnaker进行自动化部署
K8s集成实战-使用spinnaker进行自动化部署 1 spinnaker概述和选型 1.1 概述 1.1.1 主要功能 Spinnaker是一个开源的多云持续交付平台,提供快速.可靠.稳定的软件变 ...
- 一文理解OpenStack网络
摘要:如果你能理解OpenStack的网络,那么对于其他云平台的网络,应该也可以通过分析后理解掌握了. 本文分享自华为云社区<<跟唐老师学习云网络> - OpenStack网络实现& ...
- 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- [转]基于AWS的自动化部署实践
作者 徐桂林 发布于 2014年1月22日 -------------------------------------------------------------------- 1. 背景 在过去 ...
- 深入理解openstack网络架构(4)-----连接到public network
原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 译文转自:http://b ...
- 深入理解openstack网络架构(1)
原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...
- 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...
- 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
随机推荐
- jquery星级评论打分组件
<!DOCTYPE HTML><html> <head> <meta charset="utf-8"><title>jq ...
- Nodejs Buffer
javascript中的字符串本身就是以字符来存储,而非字节,下面的例子可以说明: console.log("0123456789".length); console.log(&q ...
- VS快捷键设置
设置VS快捷键,这里以关闭当前窗口为例子: 步骤: 1.tool=>option=>environment=>keyboard 2.百度关闭当前窗口的command是什么,百度出来是 ...
- zend 汉化
http://jingyan.baidu.com/article/4f34706ecdb566e387b56d05.html
- SQLSERVER - Mysql 调试 笔记
//性能SET STATISTICS IO on; SET STATISTICS TIME on; //Mysql 切分字符串 CREATE PROCEDURE proc_split( in ...
- Android NDK构建资料
Cmake http://blog.csdn.net/u012527560/article/details/51752070 http://wenku.baidu.com/link?url=ENJF ...
- Mac上的抓包工具Charles
http://blog.csdn.net/jiangwei0910410003/article/details/41620363 $********************************** ...
- stsdb开发指南
摘自:http://www.iopenworks.com/Products/ProductDetails/DevelopmentGuide?proID=387 多线程问题,请参见线程安全小结 1 ST ...
- Git使用实例分析
记录下James工作中遇到的问题: 1. 在app目录下提交.cfg特制化文件,此时Git和Gerrit结合使用: 2. 对修改文件追加提交: 3. 查看当前目录的所有分支,包括:本地分支和远程分支: ...
- andorid lint
(一)Lint简介 Android SDK提供了一个代码扫描工具,称为lint.可以帮助您轻松地识别并纠正问题与结构质量的代码,不必执行应用程序或编写任何测试用例.每个问题检测到该工具报告的一个描述消 ...