最佳实践
概述
参考:
使用 Inventory 变量
一、指定多个 inventory,并使用 –limit 限定主机
ansible-playbook -i inventory/fj-server.yaml -i inventory/fj-client.yaml deploy-monitoring.yaml --limit FJ-BS101-JMR-Monitor
模板使用方式(直接使用 groups, hostvars 这两个遍历啊那个)
{% for target in groups['intf'] %}
{{ hostvars[target]['ansible_host'] }}
{% endfor %}
二、使用 include_vars 加载
deploy-test.yaml
- hosts: fj-server
gather_facts: no
pre_tasks:
- name: "加载 client inventory"
ansible.builtin.include_vars:
file: inventory/fj-client.yaml # 读取该文件,将其中内容作为变量使用
name: client_inventory # 这些变量的父级字段名称
roles:
- test
tasts/main.yaml
- name: "检查变量"
ansible.builtin.debug:
msg: "{{ item['ansible_host'] }}"
with_items:
# 要使用 valuse() 函数
- "{{ client_inventory['intf'].hosts.values() }}"
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.