Ansible中自定义变量的使用
Ansible
使用的变量包括两种,內建变量和自定义变量。在我的上一篇博客中已经针对Ansible
的內建变量作了简单说明,同时,在Ansible
中变量引用的主要方式相同,而自定义变量的定义方式有以下四种:
1,通过命令行定义变量
2,在playbook中定义变量
3,在主机清单文件中定义变量
4,通过roles角色定义变量
本文将主要针对Ansible
中定义变量的四种方式进行简单介绍。
1 通过命令行定义变量
由于变量通常用在palybook
文件中,与之配套我们需要在命令ansible-playbook
中使用-e
选项定义变量及赋值,格式如下:
ansile-playbook -e "var_name=value" playbook
现在定义远程节点node1
的ip为192.168.25.80
,示例如下:
[root@Centos7T Ansible]#cat playbook.yml
- hosts: node1
remote_user: root
tasks:
- name: Dispaly Welcome Infromation
shell: echo {
{ var }}
[root@Centos7T Ansible]#ansible-playbook -e "var='Welcome to Ansible'" playbook.yml
PLAY [node1] *************************************************************************
TASK [Gathering Facts] ***************************************************************
ok: [192.168.25.80]
TASK [Dispaly Welcome Infromation] ***************************************************
changed: [192.168.25.80]
PLAY RECAP ***************************************************************************
192.168.25.80 : ok=2 changed=1 unreachable=0 failed=0
当然,我们也可以直接在命令行中定义及使用变量:
[root@Centos7T Ansible]#ansible node1 -e "var1='Welcome to Ansible'" -m shell