playbook的使用

playbook的使用

Ansible Playbook与临时命令

临时命令可以作为一次性命令对一组目标主机运行一项简单的任务。想要深入了解下去,需要了解如何使用playbook以便轻松重复的方式对一组目标主机执行多项复杂的任务。

play是针对清单中选定的主机运行的一组有序任务。playbook是一个文本文件,其中包含由一个或多个按特定顺序运行的play组成的列表。(可以反复使用编写的代码,同时可以存放在不同的机器上去

Play可以将一系列冗长而复杂的手动管理任务转变为可轻松重复的例程(就是简单化了),并且具有可预测的成功成果。在playbook中,可以将play内的任务序列保存为人类可读并可立即运行的形式。根据任务的编写方式,任务本身记录了部署应用或基础架构所需的步骤

语法基础

  • playbook由YAML语言编写,按照YAML标准
  • 在同一行中,#键之后的内容表示注释
  • 在同一列表中的元素应该保持相同的缩进
  • 由一个或多个play组成
  • 开头以—开头,表示一个文件的开始
  • 第一行 - name:称之为ID(不能一致) ,同一个ID下同一个模块只能用一次
  • 运行时按写时的顺序开始逐渐运行
  • 不能用Tab键进行缩进

构成

Hosts:运行执行任务(task)的目标主机
remote_user:在远程主机上执行任务的用户
tasks:任务列表
handlers:任务,与tasks不同的是只有在接受到通知时才会被触发
templates:使用模板语言的文本文件,使用jinja2语法。
variables:变量,变量替换

运行playbook命令

				ansible-playbook +web.yml(此文件可以修改为自创的任何名称)

实施单个play

编写一个单任务

[root@ansible ~]# cd /etc/ansible/
[root@ansible ansible]# mkdir playbook
[root@ansible ansible]# cd playbook/
[root@ansible playbook]# vim web.yml
[root@ansible playbook]# cat web.yml 
---
- name:task1     #任务名
  gather_facts: no      #禁止 Ansible 收集 facts 信息
  hosts:192.168.230.97    #在任务中将执行的主机
  tasks:     #任务
    - name: create user for zizi    #任务名称
      user:    #用户模块
        name: zizi     #用户名称
        uid: 6000      #配置uid
        state: present    #用户状态
[root@ansible playbook]# ansible-playbook --syntax-check web.yml   #检查语法问题
playbook: web.yml      #出现这个说明没问题,若出现红色字体,则为错误

运行playbook

[root@ansible playbook]# ansible-playbook -C web.yml 

PLAY [task1] *******************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.230.97]

TASK [create user for zizi] ****************************************************
changed: [192.168.230.97]

PLAY RECAP *********************************************************************
192.168.230.97             : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

配置Playbook执行的输出详细程序

ansible-playbook -v命令提供了额外的信息,共有四个级别

-V 看运行细节,只显示任务结果
-VV 较详细的,显示结果的基础上显示配置
-VVV 更详细的,内包括关于受管主机连接的信息
-VVVV 增强了详细选项,包括受管主机上用于执行脚本的用户以及所执行的脚本
[root@ansible playbook]# ansible-playbook web.yml -v
Using /etc/ansible/ansible.cfg as config file

PLAY [task1] *******************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.230.97]

TASK [create user for zizi] **********
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值