如何为组中的所有主机设置common ansible_user?

时间:2019-08-01 14:18:51

标签: ansible openstack ansible-inventory

是否有人知道ansible是否使用户能够在组中包含的所有主机之间共享相同的ansible_user设置?当使用某些云计算平台(例如OpenStack)时,此功能特别有用,该平台使用户能够启动共享同一配置的多个实例,例如用户帐户和SSH密钥。

1 个答案:

答案 0 :(得分:1)

您可以配置一些行为参数来修改Ansible连接到主机的方式。其中包括ansible_user变量。您可以按host的价格group进行设置。您还可以在ansible_user主机组下定义一个常规all变量,在grouphost级别进行覆盖。

如果您只在一个hosts.yml文件中编写清单,您将像这样:

all:
  children:
    ubuntu_linux:
      hosts:
        ubuntu_linux_1:
        ubuntu_linux_2:
    aws_linux:
      hosts:
        aws_linux_host_1:
        aws_linux_host_2:
        aws_linux_host_3:
      vars:
        ansible_user: ec2-user
  vars:
    ansible_host: ubuntu

而且,如果您使用目录创建清单,则可以在./inventory/group/vars.yml文件中进行设置。

检查Ansible文档的"Connecting to hosts: behavioral inventory parameters"部分,以了解您还可以配置哪些其他参数。

我希望对您有帮助