一 在playbook中直接使用
---
- hosts: test
vars:
wzj: china
tasks:
- name: test var
debug: msg="The variable ‘vvv‘ is {{ wzj}}"
# 注意:其形式
二 在变量文件中定义
---
- hosts: test
# 注意:引入文件的方式
vars_files:
- vars.yml
tasks:
- name: test var in file
debug: msg="The variable ‘wzj‘ is {{ wzj }}"
变量文件:
---
kk: lile
三 在hosts文件中定义
/etc/ansible/hosts 或者当前目录 中定义组变量或者单个主机的变量
# 通常是两种表现形式
[test]
172.25.2.1 pp=wzj
# 固定写法
[test:vars]
mm=heiheihei
# 主机变量和组变量
引用方式
---
- hosts: test
tasks:
- name: test hosts group var
debug: msg="The Variable is {{ mm }}"
- name: test singer var
debug: msg="The Variable is {{ pp }}"
四 在/etc/ansible目录下创建group_vars与hosts_vars(了解即可)
# 不常用
mkdir /etc/ansible/group_vars
mkdir /etc/ansible/hosts_vars
# Ansible在运行之前,都会搜索与Hosts文件在同一个目录下的两个用于定义变量的目录!
五 列表变量
foo_list:
- one
- two
- three
# 拿数据的方式
foo[0] # 拿出第一个数据!
foo|first # Jinja2的方式
六 内置变量
ansible all -m setup
# 学会如何拿数据即可!
# ansible默认会先抓取Playbook中所指定的所有主机的系统信息,这些信息我们称之为Facts!
# 核心的信息:远程主机的CPU信息、IP地址、磁盘空间、操作系统信息、网络接口信息!
核心:遵循一种风格,便于后期维护!