天天看点

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

开发者学堂课程【运维自动化学习第二课时:Ansible-playbook 的使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:

https://developer.aliyun.com/learning/course/805/detail/13879

Ansible Playbook 的使用

一、Playbook 介绍

二、Playbook 语法

三、Playbook 示例

四、Playbook 常用模块

一、Ansible playbook 介绍

  • Ansible playbook 是一系统ansible 命令的集合,其利用yaml 语言编写、运行。
  • 在运行过程中,ansible playbook 命令根据自上而下的顺序依次执行。
  • Playbook开创了很多特性,它可以允许它传输某个命令状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变量,然后在另一台机器中使用。这使得你可以实现一些复杂的部署机制。

Playbook 与shell 脚本的区别

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

二、Ansible playbook 的语法

Playbook 文件有YAML 语言编写, YAML 是一个类似于XML、JSON 的标记性语言,YAML 强调以数据为中心,并不是以标记语言为重点。因而YAML 本身的定义比较简单,号称“一种人性化的数据格式语言”。

  • 大小写敏感
  • 使用空格作为嵌套缩进工具,缩进时不允许使用tab键
  • 缩进的空格数目不重要,只要相同层次的元素左侧对齐即可
  • 使用“-”(横线)+单个格:表示单个列表项
  • 使用“:”(冒号)+单个空格:表示单个键值对
  • 使用“{}”表示一个键值表
Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

编写Playbook 的提醒

  • 编写时添加空格:通过空格来组的内容,可以让你的内容更加容易被理解。
  • 为任务添加命名:通过为任务设定名称,可以在运行输出时表明在执行什么任务,对于后续debug 有帮助。
  • 为任务添加注释:良好的注释会为你的持续维护提供帮助。
Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

1、Playbook 常用的模块-ping

Ping 检查指定节点机器是否还能联通,用法很简单,不涉及参数主机,如果在线则回复pong。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

2、Playbook 常用模块-yum

Yum模块可以用于在服务器上安装特定软件

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

3、Playbook 常用模块-pip

Pip模块可以用于安装一些python依赖

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

4、Playbook 常用模块-copy

Copy模块可以将本地文件拷贝至远程服务器

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

5、Playbook 常用模块-template

Template 模块可以以模板的方式来生成文件并拷贝至服务端

Template 模块基于Jinja2模块引擎实现

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

6、Playbook 常用模块-user

user模块可以执行用户管理功能,对服务器用户进行管理。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

7、Playbook 常用模块-group

Group模块可以对用户组进行管理。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

8、Playbook 常用模块-get_ url

get _url模块可以实现从网络上下载文件到主机上.

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

9、Playbook 常用模块-fetch

Fetch模块可以实现将文服务端文件拷位置本地。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

10、Playbook 常用模块-systemd

ystemd模块可以管理服务器上的服务,操作服务的启停。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

11、Playbook 常用模块-cron

cron模块可以用于配置服务端的crontab服务

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

12、Playbook 常用模块-file

file 模块可以管理远程服务器上的文件

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

13、Playbook 常用模块command

command 的模块可以用于执行命令

command 的模块和shell 模块的区别是command 的模块执行时不含Shell 的环境变量。

Ansible-playbook 的使用 | 学习笔记Ansible Playbook 的使用

总结:简单的介绍了一下ansible-playbook以及会用到的一些具体的模块。这些模块的理解,会对学习内容去编写具体的playbook会有所帮助。