问题标签 [ansible-inventory]
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.
amazon-web-services - Ansible Dynamic Inventory 无法获取最新的 ec2 信息
我正在使用ec2.py
动态库存来配置 ansible。我已放置ec2.py
in/etc/ansible/hosts
文件并将其标记为可执行文件。我也有ec2.ini
文件在/etc/ansible/hosts
.
以上是我的ec2.ini
文件
现在配置脚本如下
但是,当调用配置脚本时,第二个脚本会导致找不到主机。如果我ec2-configure.yml
单独执行,并且 EC2 服务器已启动并运行,那么它能够找到并配置它。
我添加了wait_for
以确保实例在ec2-configure.yml
调用之前处于运行状态。
如果有人能指出我的错误,将不胜感激。谢谢
python - 如何将 vars 设置为 ansible 库存?
在剧本中,我使用变量 {{excluded_service}}。我想从 python 运行 ansible playbook 并提供这个变量。而且我不能使用外部库存脚本来提供这个变量。我用来创建库存:
但我不明白我可以在哪里添加变量的值?
我的代码,适用于外部库存脚本:
ansible - 重新加载 Ansible 的动态清单
我正在使用 Ansible 设置 EC2 实例并部署应用程序。有一个主机脚本收集标签相关的服务器和组信息。我想将这些动作作为一个单一的剧本来运行,所以
- 如果需要,将创建新实例
- 主机脚本加载清单(包括服务器的事实)
- 部署剧本有效
但是,库存会提前加载,因此如果在游戏期间创建/更新服务器,则没有服务器/组数据。我可以 1) 单独提供和部署剧本 2) 使用 add_host 技巧在服务器更新时模拟动态库存,但这些方法存在缺陷。
我可以强制 Ansible 重新加载库存吗?我的测试文件是:
hosts
脚本:
样品playbook.yml
:
我运行它ansible-playbook -i hosts playbook.yml -v
并看到两个运行:
但我还没有找到加倍它的命令。
python-2.7 - ****ansible.errors.AnsibleError:无法找到库存文件,请使用 -i 指定一个?****
****ansible.errors.AnsibleError:无法找到库存文件,请使用 -i 指定一个?****
我的脚本:
样品1.yml:
/etc/ansible/主机:
ansible - 显示主机的自定义名称
我有一本用于处理 EC2 实例的 Ansible 剧本。我正在使用动态清单 ( ec2.py ) 来获取我想要使用的实例组 ( hosts: tag_Service_Foo
)。当我运行它时,它会产生如下输出:
但是,我可以从 Amazon 获取特定实例的“名称”标签(我这样做并将其存储在一个变量中,以便在剧本的几个部分中使用)。
有没有办法让 Ansible 在显示进度时将此字符串用作主机名?我希望看到更具描述性的内容(因为我没有记住 IP):
清单脚本的输出ec2.py
如下所示(被截断;它很长)。
jenkins - 如何在 Ansible 清单之外的主机上运行播放?
我们有这 3 个 ansible-playbooks 和 Jenkins 工作:
- 网络/部署应用
- 应用程序/部署应用程序
- db/deploy_app
每个 playbook 只在 2 个节点上运行,web-playbook 的清单只有 2 个主机,web01 和 web02,app-playbook 的清单只有 app01/app02。
现在我们要构建“无停机部署”,这意味着在部署 db01 之前必须关闭 app01 上的服务。
当 app01 甚至不在 db01/deploy_app playbook 的 Ansible 清单中时,如何在 Ansible 中运行 app01 的播放?
ansible - 如何在 ansible 库存文件中定义哈希(dict)?
我可以在 group_vars/all 中定义如下哈希(字典):
但是对于我的生活,我无法弄清楚如何在主机文件下定义它
我知道这是不正确的,但我不知道正确的方法。有人可以启发我吗?
ansible - 合并两个默认的 Ansible 主机文件,其中一个是 ec2.py?
我使用的 Ansible 是 AWS 和非 AWS 机器的混合环境。我想避免在命令行上传递主机。如何在 Ansible 中组合多个主机文件并将其设为默认值?Ansible 站点上的当前建议是使用 ec2.py 覆盖 /etc/ansible/hosts。这使我无法添加其他主机。谢谢。
amazon-ec2 - Ansible EC2 动态库存最低 IAM 策略
有人想出通过 IAM 角色在ansibleec2.py
上运行 EC2 动态清单脚本 ( )所需的最低 IAM 策略吗?
到目前为止,除了boto
在 ansible 的官方文档中指定库的凭证之外,我还没有看到关于这个问题的具体参考,但是,在生产环境中,我很少使用密钥对从 EC2 实例访问 AWS 服务,而是我有接受在该案例场景中使用 IAM 角色。
我已经尝试过允许ec2:Describe*
操作的策略,但对于脚本来说似乎还不够,因为它总是以Unauthorized operation
.
你能帮帮我吗?
ansible - Ansible:如何为主机设置序列号
我正在尝试在 EC2 上配置主机,因此我正在使用 Ansible Dynamic Inventory。
我想做的是;为每个节点设置序列号。
例如:Zookeeper 的“myid”配置
Zookeeper 要求每个节点都有名为“myid”的序列号;hostA 为 1,hostB 为 2,hostC 为 3,依此类推。
这是我的剧本中将“myid”文件复制到主机的部分。
myid.j2
应该是下面这样的。
问题是:变量“{{ serial_number }}”应该是什么样的?