前言
我在前一篇博客描述 ansible的安装和使用,可以远程对我们主机进行很多操作。ansible-playbook 其实属于ansible 一部分。用ansible-playbook 命令与 用ansible命令有不同之处,且非常适合于复杂应用的部署。在 playbooks 中可以编排有序的执行过程,甚至于做到在多组机器间,来回有序的执行特别指定的步骤.
如果需要参考部署ansible的安装和使用 安装好ansible ,playbooks 也可以使用了。
实践
一、ansible-playbook 参数介绍
ansible-playbook 参数 和 ansible 一致,
ansible可用的选项如下:
-v:输出详细的执行过程信息,可以得到执行过程所有的信息。
-i PATH:指定inventory信息,默认为/etc/ansible/hosts。
-f:并发线程数,默认为5个线程。
–private-key=PRIVATE_KEY_FILE:指定密钥文件。
-m:指定执行使用的模块。
-M:指定模块的存放路径,默认为/usr/share/ansible,也可以通过ANSIBLE_LIBRARY来设定默认路径。
-a:指定模块参数。
-u:指定远程主机以哪个用户运行命令。
-l:限制运行主机,等同于“–limit”。
–list-hosts:列出符合条件的主机列表,不执行任何命令。
二、ansible-playbook 变量
1.通过vars/set_fact定义变量
备注:
hosts:在ansible 章节介绍的 /etc/ansible/hosts 里面定义主机名
remote_user: 登陆的用户
vars: 配置变量
tasks: 需要执行命令
set_fact: 定义变量并赋值
debug: 打印需要内容
cat >test_set_fact.yml<<EOF
---
- hosts: tx_151
remote_user: root
vars:
testvar1: test1
tasks:
- set_fact:
testvar2: "test2"
- debug:
msg: "{
{testvar1}} {
{testvar2}} "
EOF
ansible-playbook test_set_fact.yml -v
2.ansible 内置系统变量
备注:
ansible_version: ansible的版本号
inventory_hostname &