3、Ansible PlayBook初识
版权声明:原创作品,谢绝转载!否则将追究法律责任。
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。
当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。
问问自己,想要怎样的人生。
什么是PlayBook
PlayBook 即”剧本”,”兵书”之意,PlayBook是由以下部分组成的
play : 定义的是主机的角色。(主角还是配角,找哪个明星)
task : 定义的是具体执行的任务。(角色的台词和动作)
playbook : 由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作,大腕每集拍什么)。
简单理解为: 使用不同的模块完成一件事情
【在 Ansible 中”剧本文件”是以yml结尾的文件。
在 SaltStack 中”剧本文件”是以sls结尾的文件。
但是语法,使用的都是 yaml 语法】
playBook与ad-hoc
- PlayBook 功能比 ad‐hoc 更全,是对 ad‐hoc 的一种编排.
- PlayBook 能很好的控制先后执行顺序, 以及依赖关系.
- PlayBook 语法展现更加的直观.
- playbook 可以持久使用, ad‐hoc 无法持久使用.
YAML语法
语法 | 描述 |
缩进 | YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成, 不能使用TAB |
冒号 | 以冒号结尾的除外,其他所有冒号后面所有必须有空格 |
短横线 | 表示列表项,使用一个短横杠加一个空格,多个项使用同样的缩进级别作为同一列表 |
yum:
name: vsftpd
state: present
yum:
name:
‐ httpd
‐ nginx
‐ php‐fpm
state: present
PlayBook—《孙子兵法》编写
host:对哪些主机进行操作(演员)
remote_user:使用什么用户执行(通行证)
tasks:具体执行任务(台词和动作)
PlayBook部署httpd小练习
编写httpd剧本
#创建目录剧本存放目录
[root@m01 ~]# mkdir httpd
#编辑Inventory
[root@m01 ~]# vim /etc/ansible/hosts
[web_group]
web01 ansible_ssh_host=10.0.0.7
web02 ansible_ssh_host=10.0.0.8
需求一:编写安装httpd剧本
[root@m01 ~]# vim /root/httpd/httpd.yml
‐‐‐
‐ hosts: web_group
tasks:
‐ name: Install httpd Server
yum:
name: httpd
state: present
#检查语法
[root@m01 ~]# ansible‐playbook ‐‐syntax‐check httpd/httpd.yml
playbook: httpd/httpd.yml
#测试安装
[root@m01 ~]# ansible‐playbook ‐C httpd/httpd.yml
PLAY [web_group]
********************************************************************************************
********************************************************************************************
***********************************************************************
TASK [Gathering Facts]
********************************************************************************************
********************************************************************************