蚊子132当时的第一个任务是在青岛IDC部署一套小规模的Openstack集群用于支持内部的开发环境。
虽然我从11年开始接触Openstack,但一直围绕对象存储系统(Swift)做研发工作,对于nova和glance了解的不多,好在有大牛的指导和帮助下,我花了一周的时间把每个服务都详细地了解一遍并手动配置成功后,使用puppet对openstack的包,服务,静态配置文件经行了管理。在这个阶段中,我熟悉了puppet 常见的resource的用法,以及C/S架构puppet的配置,但还是属于初级阶段。
下一个任务仍是与openstack集群部署相关,我发现之前写的puppet代码并不合理:
1. 首先配置文件中许多参数是需要配置的,于是我开始研究使用template来替换原先的静态文件。
2. 其次其他服务都是手动安装和配置的,比如mysql和rabbitmq,每台机器上还需要安装ntp服务等等。于是我又添加上了管理相关服务的代码。
3. 然后我发现把所有的类放到一个module里实在是不太合理,于是开始进行初步的分离,把每个服务都抽象成一个单独的模块,例如puppet-mysql,puppet-openstack等等。
在这个阶段,我掌握了如何根据实际情况将逻辑抽象为class,define和module。
随后,我发现github的puppetlabs project已经有许多比较成熟的module,于是开始使用upstream的代码来替代原先旧有的代码。阅读这些代码使得我掌握了一些新知识,通过阅读这些有经验的puppet程序员编写的代码,我掌握了如何使用逻辑判断,选择器,链式语法,各种数据类型,函数的用法。
蚊子132 围绕对象存储系统(Swift)做研发工作
最新推荐文章于 2021-12-18 14:48:30 发布
本文分享了作者从零开始部署OpenStack集群的过程,并详细介绍了使用Puppet进行配置管理的经验,包括从静态配置到模板化配置的转变,以及如何利用GitHub上的成熟模块提升效率。
81

被折叠的 条评论
为什么被折叠?



