ansible inventory中定义远程用户、远程端口、远程私钥、远程密码等全局变量
时间: 2023-08-05 20:07:03 浏览: 119
Ansible(十五)– ansible 中的变量(四) 内置变量 ansible_version hostvars inventory_hostname 等
在 Ansible 的 inventory 文件中定义远程用户、远程端口、远程私钥、远程密码等全局变量有多种方式,以下是其中一种常用的方式:
1. 在 inventory 文件中定义变量
可以在 inventory 文件中定义远程用户、远程端口、远程私钥、远程密码等变量,例如:
```
[all:vars]
ansible_user=myuser
ansible_port=22
ansible_ssh_private_key_file=/path/to/private/key
ansible_password=mypassword
```
这样就可以在 playbook 中使用 `{{ ansible_user }}`、`{{ ansible_port }}`、`{{ ansible_ssh_private_key_file }}` 和 `{{ ansible_password }}` 来引用这些变量。
2. 使用 group_vars 或 host_vars 目录
可以在 group_vars 或 host_vars 目录下新建文件来定义变量,例如:
```
$ cat group_vars/all
ansible_user=myuser
ansible_port=22
ansible_ssh_private_key_file=/path/to/private/key
ansible_password=mypassword
```
这样在 inventory 文件中指定 group 时,就会自动加载这个 group_vars 文件中定义的变量,例如:
```
[mygroup]
host1
host2
```
这样在 playbook 中使用 `{{ ansible_user }}`、`{{ ansible_port }}`、`{{ ansible_ssh_private_key_file }}` 和 `{{ ansible_password }}` 来引用这些变量。如果需要为某个主机单独定义变量,可以在 host_vars 目录下新建以主机名命名的文件。
阅读全文