Ansible 提供了 group_vars 和 host_vars 用于在 playbook 中设置组和主机的变量。这些变量可以在 playbook 中使用,以便在不同的主机和组之间共享和使用。
下面是如何使用 group_vars 和 host_vars 的示例代码:
mkdir group_vars
touch group_vars/all.yml
---
ansible_user: myuser
ansible_ssh_private_key_file: /path/to/private_key.pem
mkdir host_vars
touch host_vars/webserver.yml
---
http_port: 80
https_port: 443
---
- name: Example playbook
hosts: webserver
become: yes
vars:
my_var: "This is a variable"
tasks:
- name: Print variables
debug:
msg: "Group variable: {{ ansible_user }}, Host variable: {{ http_port }}, Playbook variable: {{ my_var }}"
在上述示例中,ansible_user 是一个组变量,http_port 是一个主机变量,my_var 是一个 playbook 变量。这些变量可以在 playbook 中使用,以实现不同的配置需求。
注意:在 playbook 中使用组变量和主机变量时,需要确保正确指定组和主机的名称。