如何为一个组中的所有主机设置common ansible_user?
How to set common ansible_user to all hosts in a group?
有谁知道 ansible 是否允许用户在一个组中的所有主机上共享相同的 ansible_user
设置?此功能在使用某些云计算平台(例如 OpenStack)时特别有用,它使用户能够启动共享相同配置(例如用户帐户和 SSH 密钥)的多个实例。
您可以配置几个行为参数来修改 Ansible 连接到主机的方式。其中有 ansible_user
变量。您可以根据 host
pr group
设置它。您还可以在 all
主机组下定义一个通用 ansible_user
变量,您可以在 group
或 host
级别覆盖它。
如果您只在一个 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" 部分,了解您可以配置的其他参数。
希望对你有帮助
有谁知道 ansible 是否允许用户在一个组中的所有主机上共享相同的 ansible_user
设置?此功能在使用某些云计算平台(例如 OpenStack)时特别有用,它使用户能够启动共享相同配置(例如用户帐户和 SSH 密钥)的多个实例。
您可以配置几个行为参数来修改 Ansible 连接到主机的方式。其中有 ansible_user
变量。您可以根据 host
pr group
设置它。您还可以在 all
主机组下定义一个通用 ansible_user
变量,您可以在 group
或 host
级别覆盖它。
如果您只在一个 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" 部分,了解您可以配置的其他参数。
希望对你有帮助