161得票12回答
Ansible:获取当前目标主机的IP地址

如何在角色中获取当前主机的IP地址? 我知道您可以获取主机所属组的列表和主机名,但是我无法找到获取IP地址的解决方案。 您可以使用{{inventory_hostname}}获取主机名,并使用{{group_names}}获取组。 我尝试了一些方法,如{{ hostvars[{{ inv...

118得票8回答
如何使用模板模块来应用不同的变量集?

我的使用情况是这样的: 我有一个模板文件,我想从该模板创建2个不同的文件,每个文件的变量由不同的变量集填充。 例如,假设我想要将包含以下行的文件设置为模板:mkdir -p {{myTemplateVariable}} 我想找到一种合适的方法,将这个变量填充为"File1"和"File2"...

81得票5回答
我该如何在ansible中测试jinja2模板?

有时我需要测试一些在我的ansible角色中使用的jinja2模板。最简单的方法是什么? 例如,我有一个模板(test.j2): {% if users is defined and users %} {% for user in users %}{{ user }} {% endfor ...

60得票3回答
如何从Ansible的setup模块输出中获取列表的第一个元素?

我从设置模块接收到以下数据:"ansible_nodename": "3d734bc2a391", "ansible_os_family": "RedHat", "ansible_pkg_mgr": "yum", "ansible_processor": [ "AuthenticAMD",...

53得票9回答
使用Ansible如何从目录中删除未管理的文件?

我希望能够递归复制一个目录,并将其中所有的 .j2 文件作为模板进行渲染。目前,我正在使用以下几行代码:- template: > src=/src/conf.d/{{ item }} dest=/dest/conf.d/{{ item|r...

43得票6回答
将变量传递给Ansible角色

我的目录结构如下 . ├── README.md ├── play.yml └── roles ├── bootstrap_server │   └── tasks │   └── main.yml ├── create_new_user │ ...

39得票6回答
如何在Jinja2中向Ansible列表追加元素

以下是我编写的jinja2模板,用于在ansible中使用。{% set port = 1234 %} {% set server_ip = [] %} {% for ip in host_ip %} {% do server_ip.append({{ ip }}:{{ port }}) %...

34得票1回答
将Ansible模板渲染到事实变量中

有没有一种方法可以将Ansible模板渲染到事实中?我尝试寻找解决方案,但似乎临时文件是唯一的方法。

24得票1回答
Ansible模板中出现额外的空格

我正在生成配置文件,并且希望它们能够正确缩进。我最初使用了Jinja2模板,在简单的Python程序中调用时可以正确地呈现。但当我从ansible中调用它时,循环的除第一行外所有内容都会多出2个空格。生成像YAML和Python这样的东西一直是一个真正的痛苦。我已经开始在for块的第一行放置注...

20得票5回答
模板模块能够处理多个模板/目录吗?

我认为Ansible的复制模块可以一次性复制一大堆"文件"。这可以通过递归复制目录来实现。 Ansible的模板模块能否一次性地处理许多"模板"并部署它们?是否有一种方法可以部署一个包含模板的文件夹并递归应用它们?