是一种循环结构,用于在任务中迭代一个列表或字典,并对每个元素执行相同的操作。这个功能可以帮助我们简化和重复执行一些任务。
具体使用方法如下:
下面是一个示例:
- 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 }}.conf
with_items: "{{ websites }}"
notify: restart nginx
handlers:
- name: 重启Nginx
service:
name: nginx
state: restarted
在上面的示例中,我们定义了一个名为websites的变量,其中包含两个网站的信息。然后,在配置Nginx虚拟主机的任务中,我们使用with_items关键字迭代websites变量,并使用{{ item.name }}和{{ item.port }}引用每个网站的名称和端口。
这样,Ansible会根据websites变量中的元素数量,重复执行配置Nginx虚拟主机的任务,并为每个网站生成相应的配置文件。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云弹性伸缩(AS)。
算法大赛
云+社区沙龙online第5期[架构演进]
微服务平台TSF系列直播
T-Day
云+社区沙龙online [技术应变力]
高校公开课
领取专属 10元无门槛券
手把手带您无忧上云