最近写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