首页 > 代码库 > ansible-playbook 主机变量2

ansible-playbook 主机变量2

ansible-playbook 配置 hosts 后可以指定变量,通过-k 可以交互输入密码,也可以将密码写在 hosts 文件中。

入口 yaml 文件中通过 {{ ** }} 获取变量,命令行通过 -i 指定 hosts 文件, -e 传入参数,如果同时传入多个 host 参数可使用逗号分隔,同时也可以使用 hosts 文件中的变量 ,其中 remote_user: root 可以在 ansiplay-book 命令行中使用 -u root 替代。

[root@10_1_162_39 host_vars]# ll
total 16
-rw-r--r-- 1 root root 236 May  5 09:25 hosts
-rw-r--r-- 1 root root 152 May 5 09:21 test1.yaml -rw-r--r-- 1 root root 146 May 5 09:20 test.playbook [root@10_1_162_39 host_vars]# cat hosts [web] 10.1.167.36 [web:vars] ansible_ssh_port=32200 [web1] 10.1.162.18 [web1:vars] ansible_ssh_port=322 [root@10_1_162_39 host_vars]# cat test1.yaml --- - hosts: "{{ host }}" gather_facts: false remote_user: root tasks: - shell: uptime register: output - debug: var=output.stdout

 

[root@10_1_162_39 host_vars]# ansible-playbook test1.yaml -i hosts -e host=10.1.162.18 -k
SSH password: 

PLAY [10.1.162.18] *************************************************************

TASK [command] *****************************************************************
changed: [10.1.162.18]

TASK [debug] *******************************************************************
ok: [10.1.162.18] => {
    "output.stdout": " 09:26:36 up 18:05,  7 users,  load average: 0.05, 0.10, 0.08"
}

PLAY RECAP *********************************************************************
10.1.162.18                : ok=2    changed=1    unreachable=0    failed=0   

[root@10_1_162_39 host_vars]# 

 

ansible-playbook 主机变量2