在 Red Hat Ansible Tower 中添加代理支持
在 Red Hat Ansible Tower 中添加代理支持
添加代理支持入门
在环境中实现代理有很多原因。一些代理是为了安全目的而设置的,另一些则是作为系统负载均衡器。无论使用方式如何,如果您已经配置了代理,Red Hat Ansible Tower 可能需要使用它。要更深入地了解本文将要介绍的内容,您可以访问我们专门关于 Ansible Tower 代理支持的文档 此处。
添加负载均衡器(反向代理)
在某些情况下,您的 Ansible Tower 可能位于负载均衡器后面,并且需要将该信息添加到您的实例中。Ansible Tower 中的会话在创建时会关联一个 IP 地址,并且 Ansible Tower 的策略要求任何使用该会话的行为必须与原始 IP 地址匹配。
为了允许支持代理,您需要对 Ansible Tower 配置进行一些更改。以前,这需要在 Ansible Tower 主机上找到的 settings.py 文件中完成,但从 3.2 版本开始,您现在可以在 UI 中进行这些更改。要进行这些编辑,您必须是该实例的管理员,并导航到“设置”,然后导航到“Ansible Tower 配置”。
进入 Ansible Tower 配置后,选择顶部“作业”旁边的“系统”选项卡。进入后,我们将对“远程主机头”框进行编辑。那里已经有一些在安装后设置的文本。默认情况下,REMOTE_HOST_HEADERS 设置为 ['REMOTE_ADDR', 'REMOTE_HOST']
。
您要进行的编辑应反映以下行,其中包含来自您组织环境的相关信息。
REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST']
输入相关信息后,单击右下角的绿色“保存”按钮,您就完成了所有设置。
出站代理
设置 Ansible Tower 以使用出站代理非常简单快捷。当需要出站代理时,我们经常看到的一件事是项目同步失败(如果您没有使用本地存储的剧本)。当 Ansible Tower 无法解析您用于管理版本控制剧本(如 github.com)的源代码管理 (SCM) 域时,会出现此错误。要解决此问题,您需要对 Ansible Tower 进行一些配置更改。为此,请导航到管理员设置(右上角的齿轮),然后选择“配置 Ansible Tower”。
导航到页面顶部找到的“作业”选项卡。进入“作业”选项卡后,向下滚动直到找到额外的环境变量。
您需要输入三行条目才能将您的代理添加到您的实例中。请注意,您需要知道服务器 URL 才能使这些更改生效。
AWX_TASK_ENV['http_proxy'] = 'http://url:port/' AWX_TASK_ENV['https_proxy'] = 'http://url:port/' AWX_TASK_ENV['no_proxy'] = '127.0.0.1,localhost'
输入信息后,选择右下角的绿色“保存”按钮。
请注意,如果您从先前版本升级,您可能需要从配置文件中删除先前的设置,然后才能使用 Ansible Tower 界面配置这些设置。
现在,您可以使用 Ansible Tower 的强大功能来自动化,同时允许它使用您的代理服务器、ELB 或您在环境中配置的任何形式的过滤。这并不是一个难以实现的过程,但它确实需要您对特定基础设施有一定的了解。