playbook语法和命令
来源:互联网 发布:云教学平台为您优化 编辑:程序博客网 时间:2024/06/15 22:53
Playbook采用YAML语法编写。
playbook 由一个或多个 ‘plays’ 组成.它的内容是一个以 ‘plays’ 为元素的列表.
---- hosts: all sudo: yes tasks: - name: 安装Apache yum: name={{ item }} state=present with_items: - httpd - httpd-devel - name: 复制配置文件 copy: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: root group: root mode: 0644 with_items: - { src: "/tmp/httpd.conf", dest: "/etc/httpd/conf/httpd.conf" } - { src: "/tmp/httpd-vhosts.conf", dest: "/etc/httpd/conf/httpd-vhosts.conf" } - name: 检查Apache运行状态,并设置开机启动 service: name=httpd state=started enabled=yes
注意事项:
- playbook以“—“开头
- -name:”字段并不是一个模块,不会执行任务实质性的操作,它只是给“task” 一个易于识别和名称。即便把name字段对应的行完全删除,也不会有任何问题。
- 一个playbook包含一个或多个tasks
- 通过{{ var }}或{{item.var}}形式对变量进行引用
ansible-playbook命令
直接执行:
ansible-playbook playbook.yml
限定执行范围:
指定主机:
ansible-playbook playbook.yml --limit-host host1 host2
指定主机组:
ansible-playbook playbook.yml --limit webservers
这样以来(假设你的inventory文件中包含webserver组),即便playbook中设定“hosts: all”,但也仅对webserver组生效
如果想知道在执行playbook时,哪些主机将会受影响,则使用–list-hosts选项:
ansible-playbook playbook.yml --list-hosts
用户与权限:
使用 –remote-user选项来指定用户:
ansible-playbook playbook.yml --remote-user=tom
在某些情况下,我们需要传递sudo密码到远程主机,来保证sudo命令的正常运行。这时,可以使用–ask-sudo-pass (-K)选项来交互式的输入密码。比如,当前用户Tom想以Jerry的身份运行playbook,命令如下:
$ ansible-playbook playbook.yml --sudo --sudo-user=jerry --ask-sudo-pass
执行过程中,会要求用户输入Jerry的密码。
其它选项:
--inventory=PATH (-i PATH):指定inventory文件,默认文件是/etc/ansible/hosts--verbose(-v):显示详细输出,也可以使用-vvvv显示精确到每分钟的输出--extra-vars=VARS(-e VARS):定义在playbook使用的变量,格式为:"key=value,key=value"--forks=NUM ( -f NUM):指定并发执行的任务数,默认为5,根据服务器性能,调大这个值可提高ansible执行效率--connection=TYPE ( -c TYPE):指定连接远程主机的方式,默认为ssh,设为local时,则只在本地执行playbook,建议不做修改--check:检测模式,playbook中定义的所有任务将在每台远程主机上进行检测,但并不直正执行
参考链接:
http://www.ansible.com.cn/docs
http://www.jianshu.com/p/41c4ed3ce779
阅读全文
0 0
- playbook语法和命令
- playbook
- Ansible playbook lookups 和 conditionals
- puppet语法和命令详解
- Ansible之YMAL语法介绍以及playbook详解
- 向yml文件传递参数,ansible-playbook命令
- shell基础语法和简单命令入门
- C# 数据库操作相关命令和语法
- React 语法之let和const命令
- 为PlayBook开发调试WebWorks 应用概述和参考
- playbook 循环
- playbook handlers
- playbook lookups
- playbook conditionals
- playbook介绍
- Ansible playbook
- ansible-playbook
- ansible playbook
- Centos 7配置JDK1.8_第一节
- Spring Boot 之Maven配置
- Springmvc rest 传递json报415错误(The server refused this request because the request entity is in a forma
- 算法导论程序29--二叉搜索树的插入和删除(Python)
- sourceinsight 4.0 编码乱码修改
- playbook语法和命令
- 0628Blog总集
- 嵌入式面试题
- Paxos理解
- 每日AC -- 主对角线打印二维数组---美团点评2016研发工程师编程题(二)
- Spring--IoC--基于注解的DI-组件扫描器的base-package
- nodejs
- SQL Server时间格式转换为字符串形式的42种样式
- 数据结构及算法序言