Ansible详解(六)——Ansible palybook基础

今天继续给大家介绍Linux运维相关知识,本文主要内容是Ansible的palybook基础。

一、Ansible Playbook与YAML语言

在上文Ansible详解(四)——Ansible命令模块详解Ansible详解(五)——Ansible其他模块使用详解中,我们使用了Ansible命令的方式控制下游设备。如果是要对下游设备进行复杂的操作,之前我们的命令行的方式就显得“不够用”了。因此,如果Ansible下游设备很多,配置信息也比较多,我们可以编写Ansible Playbook,使得Ansible对下游设备的管理更加自动化与流程化。
Ansible Palybook的编写是基于YAML语言的。YAML语言,即Yet Another Markup Language,是一种能被计算机直接识别的标记语言,同时也方便人的阅读,且方便和脚本语言交互。但是,YAML的配置即为严格,在配置时必须注重空格的数量。
总的来看,YAML语言特性如下:
1、可读性强
2、和脚本语言的交互性好
3、使用实现语言的数据类型
4、一致的信息模型
5、易于实现
6、可以基于流来处理
7、可扩展性强

二、Ansible Playbook组件

Ansible的Playbook有以下组件:
1、Target
定义playbook的远程主机组,即控制的下游设备信息
2、Variable
定义Playbook所使用的变量。
3、Task
定义Playbook控制下游设备要执行的命令。
4、Handler
定义在Palybook在Task执行完毕后要调用的任务。

三、Ansible Playbook各组件参数

Ansible的上述组件的参数如下:

(一)Target常用参数

1、hosts
定义Ansible用户控制的下游设备
2、remote_user
定义执行Ansible设置的用户
3、sudo
设置为yes时,执行任务时使用root权限
4、sudo_user
指定sudo的普通用户
5、connection
默认基于ssh链接客户端
6、gather_facts
获取远程主机facts基础信息

(二)Variable常用参数

1、vars
定义变量
2、vars_files
指定变量文件
3、vars_prompt
用户交互模式自定义变量
4、setup
通过远程gather_facts获取的信息

(三)Task常用参数

1、name
任务的名称,在Ansible运行的过程中起到提示的作用,会打印在屏幕上
2、action
Ansible控制下游设备的命令,通过Ansible的各个模块来进行控制
3、template
Ansible控制下游设备的模板
4、handler
定义一个调用,该调用在Handler处被定义,在所有的Task结束后被执行。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/123486710