Ansible 将模板中的动态库存数据转换为供应haproxy
我目前正在使用本地清单文件和ec2.py生成的清单的组合。我正在编写的当前剧本构建并部署了一个modsec nginx代理到ec2实例,这些实例标记为“modec”='nginx-prod' 在nginx配置模板中,我想根据标记“backended”=“web prod”在我们的VPC中循环浏览web后端Ansible 将模板中的动态库存数据转换为供应haproxy,ansible,ansible-playbook,Ansible,Ansible Playbook,我目前正在使用本地清单文件和ec2.py生成的清单的组合。我正在编写的当前剧本构建并部署了一个modsec nginx代理到ec2实例,这些实例标记为“modec”='nginx-prod' 在nginx配置模板中,我想根据标记“backended”=“web prod”在我们的VPC中循环浏览web后端 upstream backend { {% for host in backends %} server {{ host }} weight=5 {% endfor %}
upstream backend {
{% for host in backends %}
server {{ host }} weight=5
{% endfor %}
}
此操作是否可能,或者我是否必须在另一个过程中使用后端变量生成其他配置模板?在剧本中为后端定义变量。我仍然不认为动态清单是从缓存中显示出来的,或者因为我在静态中没有对它的定义。然而,我没能打破它,因为它正在工作
---
- hosts: modsec-proxy
remote_user: admin
vars:
backends: "{{ groups['tag_backend_web_prod'] }}"
tasks:
- apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main' state=present
sudo: yes
将变量转储到测试模板中很有帮助
- name: Dump all vars
action: template src=files/modsecurity-nginx/templates/dumpall.j2 dest=/tmp/ansible.all
sudo: yes
EC2 Info
{{ groups['tag_backend_web_prod'] | to_nice_json }}
Module Variables ("vars"):
--------------------------------
{{ vars | to_nice_json }}
Environment Variables ("environment"):
--------------------------------
{{ environment | to_nice_json }}
GROUP NAMES Variables ("group_names"):
--------------------------------
{{ group_names | to_nice_json }}
GROUPS Variables ("groups"):
--------------------------------
{{ groups | to_nice_json }}
GROUPS Variables ("hostvars"):
--------------------------------
{{ hostvars | to_nice_json }}