09 with_items:迭代 10 示例1:利用迭代一次创建多个文件,安装多个命令包 11 示例2:使用迭代创建组 12 示例3:使用迭代配合字典创建用户与组 13 示例1:template,for 14 示例2:template,for,引用字典 15 示例3:for循环中调用字典 16 示例4:for循环中调用if 17 Roles角色 18 示例1:定义ngin
- name: 配置Nginx hosts: web_servers vars: websites: - name: example.com port: 80 - name: test.com port: 8080 tasks: - name: 安装Nginx yum: name: nginx state: present become: true - name: 配置Nginx虚拟主机 template: src: nginx.conf.j2 dest: /etc/nginx/conf.d/{{ item.name }}...
1)先准备一个 XXX.j2 配置文件模板,在模板文件中使用 {{变量名}} 格式引用主机变量/组变量/vars字段定义的变量/facts信息字段变量 2)修改主机清单配置文件 hosts,设置主机变量/组变量 3)编辑 playbook 文件,在 tasks 任务中定义 template 模块任务及其参数 template: src=XXX.j2文件路径 dest=远程主机配置文件路...
4.1 迭代:with_items 4.2 迭代嵌套子变量 五、template循环示例 5.1 第一种写法 5.2 第二种写法 5.3 第三种写法 六、playbook中if简单使用 一、模板(template)简介 文件文件,嵌套有脚本(使用模板编程语言编写); jinja2语言,使用字面量,有以下形式: 字符串:使用单引号或双引号; 数字:整数,浮点数; 列表:[ item...
一、模板(template)简介 二、使用template部署nginx 三、playbook中when简单使用 四、playbook中with_items简单使用 4.1 迭代:with_items 4.2 迭代嵌套子变量 五、template循环示例 5.1 第一种写法 5.2 第二种写法 5.3 第三种写法 六、playbook中if简单使用 ...
template: src=/srv/httpd.j2 dest=/etc/httpd.conf notify: - restart apache - name: ensure apache is running service: name=httpd state=started handlers: #处理器 - name: restart apache service: name=httpd state=restarted 1. 2. 3.
如果您需要在替换变量后复制文件,例如具有 IP 更改的配置文件,请改用template模块。 将文件从本地计算机复制到远程服务器 默认情况下,copy模块将检查本地计算机上src参数中设置的文件。然后它将文件复制到目标路径中指定的远程计算机dest(目标)路径。下面的示例将当前用户(在本地计算机上)的主目录中的 sample.txt 文...
template:使用了Jinjia2格式作为文件模版,进行文档内变量的替换的模块。 === 五、playbook:“跑剧本” playbook就是一个用yaml语法把多个模块堆起来的一个文件而已。 1.简介 YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark ...
template: src=/srv/httpd.j2 dest=/etc/nginx/nginx.conf tags: config - name: 批量创建用户 user: name={{ item }} state=present groups=wheel with_items: - testuser1 - testuser2 tags: adduser 使用如下命令可以只执行打了某个标签的任务,或者跳过某个标签的任务 ...
当我们有需要重复性执行的任务时,可以使用迭代机制。其使用格式为将需要迭代的内容定义为item变量引用,并通过with_items语句指明迭代的元素列表即可。例如: Templates Jinja是基于Python的模板引擎。Template类是Jinja的另一个重要组件,可以看作一个编译过的模块文件,用来生产目标文本,我们可以传递Python的变量给模板去替换...