说在之前
在进行Ansible
系列之前,想说说为什么突然想重新梳理Ansible。在运维的工作历程中,经历过自己手写批量化工具,尝试过Puppet,到后来接触Ansible,之前的工作最多使用adhoc
较多,很多工作要么封装平台化,要么现写adhoc,或者脚本化安装软件之类的,也都是又重头再来走一遍,可能过程的一些优化点随手就改了,最终部署完毕也就交付了。下次部署又会重复之前的工作。造成时间浪费,也不运维化(能偷懒就偷懒节约时间看点别的东西不香么,比如学习下最火的Golang)
唠叨这么多,其实是最近在新的工作岗位感受到了ansible-playbook
带来的巨大甜头,过程中也出现忘记一些ansible基础的东西,基于此,故重新梳理下系列文章
系列文章计划:
一、基础篇
基础篇主要是补充下ansible的基本知识及常规用法及其周边,主要有:
1、Ansible 的安装、配置和基本使用
2、Ansible 常见模块的使用
3、Ansible Inventory的合理化配置
4、扩展: Yaml 和 Ini 在 Ansible 和 Python的使用
二、提高篇
主要介绍ansible的一些高级特性,比如角色的 handler,变量的定制化等,主要有:
1、Ansible playbook 入门
2、Ansible Role tasks 使用
3、Ansible Role templates 使用
4、Ansible Role handlers 使用
5、Ansible 中变量的定制化
6、Ansible 中的提交控制
三、实战篇
主要是分享实际工作中整理的一些playbook,很多甚至可以拿来即用,提升工作效率。主要有:
1、Ansible playbook 实现类堡垒机功能
2、Ansible playbook 部署MySQL
3、Ansible playbook 部署Gitlab仓库(外置MySQL)
4、Ansible playbook 实现NGINX配置中心
四、扩展
1、Python封装的 Ansible API 接口Demo
2、实际场景演练:《CMDB创建主机之后堡垒机及内部DNS更新》