最近寫ansible自動化腳本發現以下ansible-playbook參數用好了能減少很多重復性工作。下面對用到的一些參數進行闡述。
1. --list-task參數
ansible-playbook -i inventory/cbase/hosts -e ansible_python_interpreter=/usr/bin/python3 --list-task cluster.yml
2. --start-at-task參數
部署集群從指定task開始,可配合--list-task參數使用,例如從test | get task開始
ansible-playbook -i inventory/cbase/hosts -e ansible_python_interpreter=/usr/bin/python3
--start-at-task="test | get task" cluster.yml
3. --list-tags參數
可以查看腳本有哪些tags
ansible-playbook cluster.yml --list-tags
4. --skip-tags參數
可以跳過指定標簽任務
ansible-playbook -i inventory/cbase/hosts_az1 -e ansible_python_interpreter=/usr/bin/python3 cluster.yml --limit=etcd,kube_control_plane --skip-tags win_nodes
5. --limit參數
可指定主機執行腳本,舉例一個場景,在執行一個ansible playbook時,部分主機執行失敗,此時我們不想去修改hosts文件,但又需要在失敗節點重新執行,那么可以通過--limit參數來指定需要運行腳本的主機
#指定主機
ansible-playbook -i inventory/cbase/hosts test.yml --limit [ip]
#指定組,多個用英文逗號隔開
ansible-playbook -i inventory/cbase/hosts test.yml --limit kube_control_plane,etd
6. -i
-i 參數用于指定一個主機清單文件,該文件列出了要在 Ansible Playbook 中管理的主機。
ansible-playbook -i inventory/cbase/hosts test.yml
7. -e
-e 參數可以在play-book中傳入外部的參數變量
ansible-playbook -i inventory/cbase/hosts -e var=VAR test.yml