0
点赞
收藏
分享

微信扫一扫

ansible学习笔记01(最佳实践)

1、实施推荐做法

1.1 自动化思想

Jeff Geerling提出自动化思想:让事情变得简单、维持组织化、经常维护

最佳实践 说明
Keep Thing Simple 让事情变得简单
Stay Organized 维持组织化
Test Often 经常维护

2、让事情变得简单

2.1 让playbook变得可读

  1. 让playbook变得容易阅读
  2. 确保每一个缩进一致
  3. 给每一个任务取一个有意义的名字
  4. 通过定义变量简化playbook
  5. 除非一定要使用循环,否则最好不使用循环
  6. 使用jinja2模版是非常不错的选择
  7. yaml文件使用展开式写法
- name: postfix 安装和升级
	yum:
		name: postfix
		state: latest
	notify: restart postfix
	
- name: postfix 运行
	service:
		name: postfix
		state: started

2.2 使用已有的模块

  1. 写好了playbook以后,如果可以的话,使用静态inventory可以方便阅读,合理使用debug模块可以发现playbook是否正常执行,尽量把一个大的playbook拆分成若干个小的playbook(解耦),使用imports 和 includes 导入它们。
  2. 尽可能在playbook中避免使用command、shell、raw模块,使用已有模块可以保证幂等性。
  3. 很多模块都有state参数,如果可以,尽量将他们描述出来(尽管不描述他们有默认值),便于后期维护。
- name: 使用shell模块,不推荐
	shell: yum install httpd -y
	
- name: 使用yum模块安装httpd,推荐
	yum:
		name: httpd
		state: latest

2.3 统一风格

确定统一编码风格有利于后期维护

  1. 缩进空格统一标准
  2. 如何给taks、plays、roles、vars命名
  3. 怎么写注释

3、维持组织

组织化管理可以提高playbook的可维护性,便于排错和审计

3.1 统一变量命名

举报

相关推荐

0 条评论