我可以使用ansible-pull从Galaxy安装(或删除)Ansible角色吗?

帕维尔·伯恩斯坦(Pavel Bernshtam)

我正在使用Ansible ansible-pull(在cron上运行)。

我可以在不登录所有计算机的情况下从Ansible Galaxy安装Ansible角色(仅通过向Ansible剧本添加命令)吗?

扬·贡多尔

如果我对您的理解正确,那么您正在尝试以手动方式从命令行从Ansible Galaxy下载和安装角色,可能会反复(通过cron)。如果是这种情况,请按照以下步骤操作。

# download the roles
ansible-galaxy install --ignore-errors f500.elasticsearch groover.packerio
# run ansible-playbook to install the roles downloaded from Ansible Galaxy
ansible-playbook -i localhost, -c local <(echo -e '- hosts: localhost\n  roles:\n  - { role: f500.elasticsearch, elasticsearch_cluster_name: "my elasticsearch cluster" }\n  - { role: groover.packerio, packerio_version: 0.6.1 }\n')

说明/仅供参考

  • 要从Ansible Galaxy下载角色,请使用ansible-galaxy,而不要使用ansible-pull有关详细信息,请参见手册您可以一次下载多个角色。
  • 如果角色是先前下载的,则重复尝试使用进行下载ansible-galaxy install将导致错误。如果您希望重复调用此命令(例如,从cron调用),请使用--ignore-errors(跳过角色并移至下一项)或--force(强制覆盖)来解决此问题。
  • 运行时ansible-playbook,我们可以避免必须使用创建清单文件-i localhost,(末尾的逗号表示我们正在提供列表,而不是文件)。
  • -c local(与相同--connection=local)表示我们不会进行远程连接,但会在本地主机上执行命令。
  • <()功能是流程替代命令的输出显示为文件,因此我们可以将“虚拟剧本文件”输入到ansible-playbook命令中,而无需先将剧本保存到磁盘(例如playbookname.yml)。
  • 如图所示,可以嵌入角色变量,例如packerio_version: 0.6.1在单个命令中应用多个角色。
  • 请注意,空白在剧本中很重要(它们是YAML文件)。就像在Python代码中一样,请注意缩进。使用echo -e\n(换行符)可以很长时间地输入错字
  • 您可以ansible-playbook分别从Ansible Galaxy运行角色更新

有了一点魔力,您不必创建清单文件或剧本(有时这很有用)。通过push远程安装Galaxy角色的解决方案不那么hacky / cleaner,但是如果您更喜欢使用cron和拉取,则可以有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ansible Galaxy角色安装在特定目录中吗?

来自分类Dev

Ansible:我可以使用Vault中加密的ssh密钥吗?

来自分类Dev

将Ansible Galaxy角色安装为git存储库

来自分类Dev

Ansible Galaxy角色路径错误

来自分类Dev

Ansible角色/软件包-Ansible Galaxy-安装MAC OSX时出错

来自分类Dev

我可以使用python CSP吗?

来自分类Dev

我可以使用迭代器吗?

来自分类Dev

我可以使用通配符替换吗

来自分类Dev

我可以使用RTF格式吗?

来自分类Dev

骨骼可以使用我的插件吗?

来自分类Dev

在剧本中使用Ansible-Galaxy角色而不是剧本中的ansible-module是最佳实践吗?

来自分类Dev

我可以使用Wixsharp安装Windows服务吗

来自分类Dev

我可以使用Homebrew安装MySQL 5.6.26吗?

来自分类Dev

我可以使用brew安装Node.js吗?

来自分类Dev

我可以使用本地帐户安装Windows 10吗?

来自分类Dev

我可以使用已安装的Ubuntu Live吗?

来自分类Dev

我可以使用Homebrew安装MySQL 5.6.26吗?

来自分类Dev

我可以使用dd恢复Grub的安装吗?

来自分类Dev

我可以使用 ezdxf 删除空图层吗?

来自分类Dev

是否可以使用ansible角色设置_passed_变量值?

来自分类Dev

我可以在Ansible模板中为主机使用变量吗?

来自分类Dev

如何配置Ansible以使用我的本地SSH配置?

来自分类Dev

什么定义了Ansible Galaxy角色的版本?

来自分类Dev

Ansible galaxy:预期在字典中的角色名称

来自分类Dev

使用Ansible Galaxy自动安装Ansible自定义模块

来自分类Dev

使用我的方法时,我可以使警告静音吗?

来自分类Dev

我可以使用AWS Lambda满足我的要求吗?

来自分类Dev

我可以使用cpupowerd超频我的cpu吗?

来自分类Dev

我可以使用 OpenVPN 更改我的位置吗?

Related 相关文章

热门标签

归档