问题标签 [ansible-awx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - AWX docker:如何使用 Active Directory 向 Azure 进行身份验证。对我不起作用
我已经敲了大约一个星期的头了。
我通过 docker-compose 运行 AWX 并在 EC2 实例上设置。我的部门没有创建 Azure 服务主体的凭据,因此当我等待该请求通过时,我试图让 AWX 通过活动目录凭据向 Azure 进行身份验证。在测试时,为简单起见,我有一个运行 azure_rm_dnsrecordset_facts 的测试任务设置,因此我可以简单地提取 TXT 记录以显示身份验证正在验证。在我的开发机器上,我可以安装 azure cli,运行 az login 并通过 ansible-playbook 命令执行 playbooks 等,它可以工作:我可以看到测试提取了预期的 TXT 记录。但是在 AWX 上我得到了错误。
使用 az login 并将 /root/.azure/ 中的文件复制到 /var/lib/awx/.azure/ 我收到此错误:
在使用 ad_username、password 和 subscription_id 值作为环境变量时,额外的 vars 和从 Vault 传递到模块中都会导致相同的错误:
只是我还是这是一个错误?除了我在阅读文档时发现的内容外,我找不到任何可以明确引导您完成设置的内容。我希望这是直截了当的,到目前为止,一切都不是。
这是我最近关注的文档之一:https ://docs.ansible.com/ansible-tower/3.2.6/html/userguide/credentials.html#microsoft-azure-resource-manager
谢谢您的帮助。这是我尝试过的事情的清单:
在 awx_task 和 awx_web 容器中为 AZURE_AD_USER、AZURE_PASSWORD 和 AZURE_SUBSCRIPTION_ID 设置环境变量。
我已将 ad_user、password 和 subscription_id 凭据设置为额外变量。
我已将凭据放在保险库中,并直接传递给 ansible 模块,有和没有 azure_adfs_authority_url。
在 awx_task docker 容器中,我安装了 ansible[azure] 和 azure cli,运行 az login,验证 /root/.azure/azureProfile.json 文件已填充。
我已将文件从 /root/.azure/ 复制到 /var/lib/awx/.azure/ ,这似乎是 AWX 正在寻找这些文件的地方。我还验证了读写权限和文件所有权。
我修改了 Microsoft Azure 资源管理器凭据,但它似乎不是我想要的。
- ON EC2 实例,azure_adfs_authority_url 的 nslookup 显示它正在访问正确的 ADFS 服务器。
谢谢你的帮助
ansible - AWX 无法从私人仓库安装要求
我有一个项目的 AWX 安装。该项目是从私人 git 存储库中完美获取的。
该项目有一个由 AWX 执行的需求文件。需求文件包含这样的私有存储库:
但是,这失败并出现以下错误:
测试未成功安装:-命令 git clone 在目录中失败。
如何配置 AWX 以使用 awx 中已有的 git 凭据?
kubernetes - 尝试将文件复制/挂载到 AWX kubernetes pod 但出现错误
我正在尝试将文件添加到 kubernetes 中 AWX 任务/Web 容器的 /etc/ 目录中。我对掌舵相当陌生,我不确定自己做错了什么。
我添加到 helm chart 的唯一内容是 configmap 中的 krb5 键,以及任务和 Web 容器的附加卷和卷挂载。krb5.conf 文件位于charts/mychart/files/
配置图:
部署:
卷添加到 deployment.yaml 的底部
卷挂载添加到任务/Web 容器
我正在尝试将文件挂载到 kubernetes pod 中的容器中,但出现以下错误:
kubernetes - 如何让 Kerberos 身份验证在 k8s 中工作
我正在尝试通过 AWX 中的 kerberos 进行身份验证。我在 Azure Kubernetes 服务中托管 AWX。我们使用的 KDC 是 ldap。从容器本身执行时,我可以通过 ping 和 telnet 通过端口 88 与 ldap 服务器通信。我不确定我还能做些什么来测试它并且日志文件是空的。
我已将 krb5.conf 文件和 krb5.keytab 文件添加到 Task/Web 容器中。我尝试过使用和不使用 keytab。我尝试将缓存更改为文件而不是密钥环。
无论我尝试什么配置,我都会遇到同样的错误。好奇我做错了什么。我可以通过在 Docker 中本地运行 AWX 的 VM 上的工作 kerberos 配置来实现它,但是,我无法让它在 AKS 中工作。不确定这是特定的 AKS 还是一般的 Kubernetes。
错误:
kinit:在获取初始凭据时无法联系领域“MYDOMAIN.COM”的任何 KDC
ansible - 为什么 Ansible AWX 每个库存只有一个机器凭证?
是否有理由不为每个主机设置凭据?当在一个清单中定义多个主机时,共享一个私钥是常识吗?
ansible - 是否可以仅在变量具有值时设置 Ansible 事实?
我有一个从 AWX 运行的 Ansible 剧本。播放使用 Infoblox nios 模块来检索有关 Infoblox 主机注册的信息。
我正在使用 set_fact 模块来获取查询的输出,然后定义一些新的事实以在剧本的其他地方使用。
我遇到的问题是查询可以根据注册的格式返回不同数量的变量,这会破坏剧本。
如果只有在原始查询中返回特定变量时我才能设置新事实,我想做的是锻炼。
我试过使用“如果定义”,但这似乎不起作用。
在示例 1 中,播放“获取主机记录”返回以下值。主机、ipv4addr 和 mac,因为主机在 Infoblox 中有一个 Mac 地址
在示例 2 中,相同的播放仅返回主机和 ipv4addr,因为主机没有注册 Mac 地址。
我的剧本包含以下内容,并且仅当主机包含 Mac 地址作为事实主机时才有效,不包含 host.ipv4addrs[0].mac 的值,因此它崩溃了。如果定义了 host.ipv4addrs[0].mac,我想添加一些逻辑来尝试设置 niosmac。
这是我尝试使用的版本已定义
干杯斯宾塞
ansible - 当播放返回多个值时,是否可以设置/查找 Ansible 事实
我在 AWX 中有以下剧本,它根据 Mac 地址查找 Infoblox 主机,然后以更用户友好的格式输出信息。
当前剧本的工作前提是存在具有该 Mac 地址的单个主机,但如果存在多个则失败。
变量 niossearchcatagory 和 searchcriteria 通过 AWX 调查传递到剧本中。
我已经搜索了使用循环或拆分输出的可能选项,但我真的不知道处理这个的最佳方法。
如果输出与此匹配,则剧本按预期工作
这是一个返回多个值的例子
这会导致错误,因为变量 host.name、host.ipv4addrs 等不存在,我认为这是因为有多个变量。
我们将不胜感激地收到有关如何输出每个注册的任何帮助。
ansible - 接受用户输入并在多行中创建一个新文件
我想从 vars_prompt 获取用户输入,例如:-
并使用此输出在服务器上创建一个新文件:-
我如何使用 lineinfile 或 blockinfile 模块来实现这一点?
ansible - 将远程 N 台主机添加到 AWX
在没有 docker 的 CentOS 7 上安装了 Ansible AWX。想要将远程 linux 主机(无密码)添加到 AWX 并运行 play book 并获得结果。怎么做?任何人都可以帮助。我可以在网页中添加一两个主机。如何将 100 个远程主机添加到 AWX。是否有任何 AWX 后端脚本可以将 N 个远程主机添加到 AWX?谢谢。
ansible - AWX playbook 中的gather_facts 失败
我有一个使用gather_facts 来托管CentoOS 的任务。当我在 AWX 中使用我的剧本执行此任务时,我收到此错误:
我正在使用使用 Ansible 与 docker 一起安装的最新版本的 AWX。每个在 CentOS 主机中。
蟒蛇 2.7
当我在带有 ansible-playbook 的 shell 中使用它时,它可以正常工作。
我的任务:
详细错误: