Ansible:通过库存设置 http_proxy

Ansible: set http_proxy via inventory

我在一个站点中有一组服务器,其中一些服务器只能访问管理网络而不能访问 Internet,因此我需要配置 http_proxy 让它们能够拉包等

现在,我有一个顶级剧本,我将它一起应用于所有服务器,并且我正在寻找一种方法来为那些需要它的服务器设置 environment/http_proxy 设置。有没有办法使用 host/group_vars 以某种方式设置环境?

我尝试覆盖 ansible_env 变量,但它不起作用,我猜它在剧本的第一个步骤 (gather_facts) 中被覆盖了。

除了复制剧本里的剧本,限制在群里,在那里设置环境,还有什么办法可以达到我想要的效果吗?

提前致谢。

好像不行,因为库存变量是ansible特有的,不是环境变量。

如果服务器需要 proxy_http 设置,请将其直接放在服务器上的任何相关文件中,例如 /etc/environment 是系统范围的或在您的用户配置文件中。这样ansible应该透明地使用它。

此外,官方ansible documentation建议在任务或游戏级别使用环境变量。