我刚刚开始使用Ansible,所以更具体一点,我想设置几个zookeeper流浪汉机器,为此我已经做了一个单独的角色 - zookeeper 。安装任务很简单,但最好的是配置env vars一般吗?在我的用例中,我在vars / main.yml中添加了两个变量:
---
env:
ZOOKEEPER_INSTALL: "/usr/share/zookeeper"
PATH: "$PATH:$ZOOKEEPER_INSTALL/bin"
然后将此添加到角色任务:
- name: Export ZooKeeper env vars
shell: export env
但我没有在printenv
找到这些变种。然后我尝试用shell
更改environment
模块,但它似乎做了另一种事情。那么设置env vars的正确方法是什么,以便它们甚至可以在server reboot
/ vagrant halt
之后工作?
答案 0 :(得分:1)
如果您想设置系统环境变量,您必须采用与没有Ansible的情况相同的方式,例如将适当的代码放入/etc/profile.d
。您可以使用template
模块,并包含您需要的所有变量。