很多初学者对于使用ansible的yum模块时,安装多少包,就调用多少次模块,接触过roles方法的可以知道,通过roles目录中的vars来定义ansible变量。

ansible的变量也是可以有数组的,意思是,一个变量名对应多个值,如下:

_packages:
  - git
  - nginx
  - ...

当在playbook语法中调用时,通过item来读取,就以yum为例:

- name: Change git version
  yum:
    name: "{{ item }}"
    state: present
  with_item: "{{ _packages }}"

上述例子中,yum安装的软件名要读取item变量,而item变量的值通过with_item读取vars目录或者defaults目录中的数组变量而来。

这种方法和一开始说的安装多少包,调用多少次yum模块简单了很多。

当然除了yum,其他的模块也可以视情况灵活使用。

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0