赞
踩
Playbook的核心元素:
Hosts
:主机组;
Tasks
:任务列表;
Variables
:变量,设置方式有四种;
Templates
:包含了模板语法的文本文件;
Handlers
:由特定条件触发的任务;
Playbooks配置文件的基础组件:
Hosts
:运行指定任务的目标主机
remote_user
:在远程主机上执行任务的用户;
sudo_user:
通常用于表示在运行特定任务或命令时所使用的超级用户(superuser)或特权用户
tasks
:任务列表
模块,模块参数
:
格式:
(1) action: module arguments
(2) module: arguments
注意:shell和command模块后面直接跟命令,而非key=value类的参数列表;
handlers
:任务,在特定条件下触发;接收到其它任务的通知时被触发;
(1) 某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers;
(2) 任务可以通过“tags“打标签,而后可在ansible-playbook命令上使用-t指定进行调用;
① 定义playbook
先创建文件
# 创建文件
touch nginx.yml
# 使用vi 或者vim 进行编辑
vim nginx.yml
--- - hosts: web remote_user: root tasks: - name: install nginx yum: name=nginx state=present - name: copy nginx.conf copy: src: /tmp/nginx.conf dest: /etc/nginx/nginx.conf backup: yes notify: reload # 当 nginx.conf 发生改变时,通知给相应的 handlers tags: reloadnginx # 打标签 - name: start nginx service service: name: nginx state: started tags: startnginx # 打标签 handlers: # 请确保这一行的缩进是一致的 - name: reload service: name: nginx state: restarted # 为了在进程中能看出来
注意缩进 注意缩进 注意缩进
# 检查错误
ansible-playbook nginx.yml --syntax-check
# 列出所有任务
ansible-playbook nginx.yml --list-task
# 列出在那些机器执行
ansible-playbook nginx.yml --list-hosts
# 运行
ansible-playbook nginx.yml
写完了以后,我们就可以运行了:
本章完结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。