一、playbook介绍
便于功能的重复使用
本质上就是个文本文件 *.yml
遵循YAML语法
1、遵循YAML语法
1、同级别代码要有相同缩进、建议四个空格
2、一个键对应一个值,冒号后要有空格
key: value
3、一个键对应多个值时,分行写
key:
-value1
-value2
-value3
2、playbook结构
- hosts: 主机或主机组名
user: root
tasks:
- name: 任务名称
模块名称: 参数1 参数2 参数3
- name: 任务名称
模块名称: 参数1 参数2 参数3
- name: 任务名称
模块名称: 参数1 参数2 参数3
3、创建用户openstack,shell为/sbin/nologin
1)编写剧本


2)执行剧本


4、gather_facts参数
ansible执行剧本时,默认会调用setup模块搜集facts数据,可通过该参数取消默认行为

5、部署MySQL剧本


二、变量
类型:
自定义变量
内置变量
facts变量
内置变量
1、自定义变量
1)调用变量
{{ 变量名称 }} 双大括号两把必须有一个空格
2)在playbook中定义变量


3)在外部文件中定义变量


为确保敏感数据安全,可对变量文件进行加密
加密后无法直接使用需要解密后才能识别变量,要加一个选项来执行剧本 --ask-vault-pass

可使用decrypt对加密的变量进行解密
4)在主机清单文件中定义变量---为单个主机定义变量


5)在主机清单文件中定义变量---为主机组定义变量



6)修改MySQL剧本


2、内置变量
ansible_ssh_user ssh的用户
ansible_ssh_pass 用户的密码
ansible_ssh_port ssh连接的端口
不需要配置免密直接调用ssh内置变量ansible自动化运维时无需输入密码

