local_action

Ansible 默认只会对控制机器执行操作,但如果在这个过程中需要在 Ansible 本机执行操作就需要使用到local_action

become:True

Ansible允许你成为另一个用户,与登录到本机的用户或远程用户不同。

比如我们需要 root 权限,所以我们必须使用 become 语句。

serial

- name: test play
hosts: webservers
serial: 3

在上面的例子中,如果我们有100个主机,组“webservers”中的3个主机将完成playbook,然后再移动到接下来的3个主机。

还可以使用百分比

serial: "30%"

set_fact模块

set_fact模块可以自定义facts,这些自定义的facts可以通过template或者变量的方式在playbook中使用。如果你想要获取一个进程使用的内存的百分比,则必须通过set_fact来进行计算之后得出其值,并将其值在playbook中引用。

- name: Configure MySQL
hosts: mysqlservers
tasks:
- name: install MySql
yum: name=mysql-server state=installed - name: Calculate InnoDB buffer pool size
set_fact: innodb_buffer_pool_size_mb="{{ ansible_memtotal_mb / 2 }}" - name: Configure MySQL
template: src=templates/my.cnf dest=/etc/my.cnf owner=root group=root mode=0644
notify: restart mysql - name: Start MySQL
service: name=mysqld state=started enabled=yes
handlers:
- name: restart mysql
service: name=mysqld state=restarted my.cnf的配置示例:
# ` ansible_managed `
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted
security risks
symbolic-links=0
# Configure the buffer pool
innodb_buffer_pool_size = {{ innodb_buffer_pool_size_mb|int }}M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

include_tasks模块

在ansible中,我们可以通过include,在一个playbook中包含另一个文件,以便实现代码的重复利用。

include_tasks模块用来包含一个任务列表

include_tasks本身会被当做一个task执行,这个task会把include的文件路径输出到控制台。

最新文章

  1. phabricator-zh_CN汉化包
  2. 加快MySQL逻辑恢复速度的方法和参数总结
  3. C++builder XE10 终于支持类内变量初始化了
  4. visualsvn server 报错 can't read file "current":End of file out
  5. WinEdit7 破解方法
  6. spring jar包冲突
  7. MySQL锁详解
  8. Java线程池总结
  9. 爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider)
  10. DataGrid列中加入CheckBox 全选 点击Header全选 和 只操作选中部分 功能的实现
  11. Python 类的内置方法
  12. BarTender 2016如何导出模板为pdf文件?
  13. lxml简单用法 解析网页
  14. 【链表】Remove Duplicates from Sorted List II(三指针)
  15. SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数
  16. JMeter学习-021-JMeter 定时器的应用
  17. 位图(BitMap)索引
  18. Facebook背后的软件
  19. 解决win10子系统Ubuntu新装的mysql 不能root登陆方法
  20. O - Treats for the Cows 区间DP

热门文章

  1. zabbix 主动模式和被动模式说名
  2. Centos7.x做开机启动脚本
  3. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)
  4. 云端安装MQTT服务器
  5. spring @CrossOrigin解决跨域问题
  6. OSGI插件(plugin)web工程建设步骤
  7. apply和call与this
  8. Powershell 函数中的CmdletBinding()是怎么回事?
  9. SpringCloud入门(一)
  10. Flutter之Simulation