参数

  • hosts:定义远程的主机组
  • user:执行该任务的用户
  • remote_user: 远端运行该play的用户,可以细分到每一个task
  • *sudo:如果设置为yes,执行该任务组的用户在执行任务的时候,获取root权限
  • *sudo_user: 如果你设置user为tom,速度设置为yes,sudo_user为jerry,则tom用户则会获取jerry用户的权限
  • connection:通过什么方式连接到远程主机,默认为ssh
  • become:是否提权
  • become_method: 提权得方式(sudo)
  • notify:当任务执行完毕后,通知handler section 中的任务模块(出发执行)
  • set_fact: 模块可以自定义facts,这些自定义的facts可以通过template或者变量的方式在playbook中使用。如果你想要获取一个进程使用的内存的百分比,则必须通过set_fact来进行计算之后得出其值,并将其值在playbook中引用。set_fact: innodb_buffer_pool_size_mb=”{{ ansible_memtotal_mb / 2 }}”
  • gather_facts:除非你明确说明不需要在远程主机上执行setup模块,否则会默认自动执行。如果你的确不需要setup模块所传递过来的变量,你可以启用该选项
    1. 可以使用setup获取到的字典中的key,来渲染对应的值
    2. 当值的类型为字典嵌套时,可以使用点来进行深入查找 {{ansible_eth0.ipv4.address}}
    3. 当值的类型为列表时,{{ansible[0].xxx}}