强制 ansible 对库存组的每一行应用更改
Force ansible to apply changes on each lines of an inventory group
我有一台裸机服务器,我想在这台服务器上安装多个服务。
我的库存看起来像那样
[Mygroup]
Server port_service=9990 service_name="service1"
Server port_service=9991 service_name="service2"
当我启动我的 ansible 作业时,只安装了服务 2,因为我的组的每一行都有相同的服务器。有没有办法强制ansible占用一个组的所有线路?
我不想为每个服务创建一个组
希望我没听错,但这应该可以解决问题。
https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html
问候
哈利
问:"有办法强制Ansible取一个组的所有行吗?"
A:没有,没有。在一个组中,主机应该是唯一的。如果有多个同名主机,最后一个将被占用。
将变量放在一行中,例如
[Mygroup]
Server port_services="[9990, 9991]" service_names="['service1', 'service2']"
(并更改代码)。
参见How to build your inventory。还有很多其他选项,例如
[Mygroup]
Server
[Mygroup:vars]
port_services="[9990, 9991]"
service_names="['service1', 'service2']"
另一个解决方案是使用别名。
这个解决方案很适合我
[Mygroup]
service_1 ansible_host=Server port_service=9990 service_name="service1"
service_2 ansible_host=Server port_service=9991 service_name="service2"
我有一台裸机服务器,我想在这台服务器上安装多个服务。
我的库存看起来像那样
[Mygroup]
Server port_service=9990 service_name="service1"
Server port_service=9991 service_name="service2"
当我启动我的 ansible 作业时,只安装了服务 2,因为我的组的每一行都有相同的服务器。有没有办法强制ansible占用一个组的所有线路?
我不想为每个服务创建一个组
希望我没听错,但这应该可以解决问题。
https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html
问候
哈利
问:"有办法强制Ansible取一个组的所有行吗?"
A:没有,没有。在一个组中,主机应该是唯一的。如果有多个同名主机,最后一个将被占用。
将变量放在一行中,例如
[Mygroup]
Server port_services="[9990, 9991]" service_names="['service1', 'service2']"
(并更改代码)。
参见How to build your inventory。还有很多其他选项,例如
[Mygroup]
Server
[Mygroup:vars]
port_services="[9990, 9991]"
service_names="['service1', 'service2']"
另一个解决方案是使用别名。
这个解决方案很适合我
[Mygroup]
service_1 ansible_host=Server port_service=9990 service_name="service1"
service_2 ansible_host=Server port_service=9991 service_name="service2"