如何防止Ansible合并主机变量?

如何防止Ansible合并主机变量?,ansible,Ansible,我有两个组名下的主机(在下面的示例中)。如果调用了group_1,我希望它通过ssh连接到它,但是如果调用了group_2,我希望它是本地连接。然而,ansible似乎正在将两个主机变量合并在一起,即使它们在不同的组中?它正在使用组1的本地连接。 我怎样才能防止这种情况 [group_1] example.com ansible_user=ansible ansible_ssh_private_key_file="{{ lookup('env','PATH_TO_KEYS') }}"/my.pe

我有两个组名下的主机(在下面的示例中)。如果调用了
group_1
,我希望它通过ssh连接到它,但是如果调用了
group_2
,我希望它是本地连接。然而,ansible似乎正在将两个主机变量合并在一起,即使它们在不同的组中?它正在使用组1的本地连接。 我怎样才能防止这种情况

[group_1]
example.com ansible_user=ansible ansible_ssh_private_key_file="{{ lookup('env','PATH_TO_KEYS') }}"/my.pem

[group_2]
example.com  ansible_port=8081 ansible_connection=local

清单主机名可以是任意的,但它是主机的关键标识符,因此VAR将按如下所述进行聚合:

我们可以将任意字符串与
ansible\u host
结合使用,使系统实现您想要的功能

另外,请注意,
ansible\u connection=local
将在本地主机上执行代码,而不使用任何连接或服务守护程序(ssh或其他),因此不需要使用
ansible\u端口

[group_1]
example_ssh ansible_host=example.com ansible_user=ansible ansible_ssh_private_key_file="{{ lookup('env','PATH_TO_KEYS') }}"/my.pem

[group_2]
example_local_8081 ansible_host=example.com  ansible_port=8081 ansible_connection=local

清单主机名可以是任意的,但它是主机的关键标识符,因此VAR将按如下所述进行聚合:

我们可以将任意字符串与
ansible\u host
结合使用,使系统实现您想要的功能

另外,请注意,
ansible\u connection=local
将在本地主机上执行代码,而不使用任何连接或服务守护程序(ssh或其他),因此不需要使用
ansible\u端口

[group_1]
example_ssh ansible_host=example.com ansible_user=ansible ansible_ssh_private_key_file="{{ lookup('env','PATH_TO_KEYS') }}"/my.pem

[group_2]
example_local_8081 ansible_host=example.com  ansible_port=8081 ansible_connection=local