1-4 ansible playbook 参数传递
hosts文件内容
cat /home/yy1s/django/extra_app/ansible/hosts
[test_group2]
144.131.252.142 ansible_ssh_user=yy1s
144.131.252.144 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
[test_group3]
144.131.252.252 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
144.131.252.162 ansible_ssh_user=root ansible_ssh_pass='root'
144.131.252.163 ansible_ssh_user=ro ansible_ssh_pass='root'
[test_group1:children]
test_group2
test_group3
------------------------------------------------------------------------------------------------------------------
(jiankong_venv) [yy1s@rbtnode1 playbook]$ cat f1.yml --- - hosts : 144.131.252.162 remote_user : root vars : touch_file : imoocc.file tasks : - name : touch file shell: "touch /tmp/{{touch_file}}"
# -i 制定主机配置文件 --list-hosts列出f1.yml里面配置的主机 (jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook -i /home/yy1s/django/extra_app/ansible/hosts --list-hosts ./f1.yml playbook: ./f1.yml play #1 (144.131.252.162): 144.131.252.162 TAGS: [] pattern: ['144.131.252.162'] hosts (1): 144.131.252.162
# 执行剧本
(jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook -i /home/yy1s/django/extra_app/ansible/hosts ./f1.yml
(jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook ./f1.yml
-----------------------------------------------------------------------------------------------------------------------
#以--extra-vars传递变量
(jiankong_venv) [yy1s@rbtnode1 playbook]$ cat f1.yml
---
- hosts : 144.131.252.162
remote_user : root
# vars :
# touch_file : imoocc.file
tasks :
- name : touch file
shell: "touch /tmp/{{touch_file}}"
#从外部传入参数
(jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook ./f1.yml --extra-vars "touch_file=123"
------------------------------------------------------------------------------------------------------
# 从文件传入参数
(jiankong_venv) [yy1s@rbtnode1 playbook]$ cat ../hosts
[test_group2]
144.131.252.142 ansible_ssh_user=yy1s
144.131.252.144 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
[test_group3]
144.131.252.252 ansible_ssh_user=yy1s ansible_ssh_pass='yy1s'
144.131.252.162 ansible_ssh_user=root ansible_ssh_pass='root'
144.131.252.163 ansible_ssh_user=ro ansible_ssh_pass='root'
[test_group1:children]
test_group2
test_group3
[test_group2:vars]
touch_file=jeason3
(jiankong_venv) [yy1s@rbtnode1 playbook]$ cat f1.yml
---
- hosts : 144.131.252.144
remote_user : root
# vars :
# touch_file : imoocc.file
tasks :
- name : touch file
shell: "touch /tmp/{{touch_file}}"
(jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook ./f1.yml
-------------------------------------------------------------------------------------------
#使用register注册
(jiankong_venv) [yy1s@rbtnode1 playbook]$ cat f4.yml
---
- hosts : 144.131.252.144
remote_user : root
vars :
touch_file : imoocc.file
tasks :
- name : get date
command : date #date命令的输出赋值给变量date_output
register : date_output
- name : touch file
shell: "touch /tmp/{{touch_file}}"
- name : echo data_output
shell : "echo {{date_output.stdout}} > /tmp/{{touch_file}}"
(jiankong_venv) [yy1s@rbtnode1 playbook]$ ansible-playbook ./f4.yml
浙公网安备 33010602011771号