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 脚本的区别

image.png


二、Ansible playbook 的语法

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

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

image.png

编写Playbook 的提醒

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


三、Playbook 示例

image.png


四、Playbook 常用模块

1Playbook 常用的模块-ping

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

image.png

2Playbook 常用模块-yum

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

image.png

3Playbook 常用模块-pip

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

image.png

4Playbook 常用模块-copy

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

image.png

5Playbook 常用模块-template

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

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

image.png

6Playbook 常用模块-user

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

image.png

7Playbook 常用模块-group

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

image.png

8Playbook 常用模块-get_ url

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

image.png

9Playbook 常用模块-fetch

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

image.png

10Playbook 常用模块-systemd

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

image.png

11Playbook 常用模块-cron

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

image.png

12Playbook 常用模块-file

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

image.png

13Playbook 常用模块command

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

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

image.png

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

相关文章
|
4月前
|
关系型数据库 MySQL PHP
ansible汇总(3)
roles介绍 roles(角色): 就是通过分别将variables, tasks及handlers等放置于单独的目录中,并可以便捷地调用它们的一种机制。
31 1
|
9月前
|
应用服务中间件 Linux 数据安全/隐私保护
ansible:playbook学习笔记
ansible:playbook学习笔记
98 0
|
Shell Linux Python
Ansible之Playbook(一)
Ansible之Playbook
90 0
Ansible之Playbook(一)
|
应用服务中间件 nginx
Ansible之Playbook(二)
Ansible之Playbook(二)
79 0
|
JSON 运维 Kubernetes
[Ansible专栏]Ansible Playbook介绍和使用
[Ansible专栏]Ansible Playbook介绍和使用
LXJ
|
应用服务中间件 Shell Linux
Ansible之Playbook
Ansible之Playbook
LXJ
207 0
|
MySQL 关系型数据库 Shell
Ansible第二篇:ansible-playbook
一、Playbook语法 Ansible-playbook采用YAML语法编写。 示例:[root@LOCALHOST ~]# cat yaml/httpd.
1521 0
Ansible playbook常用指令格式
--- - hosts: ipse1   tasks:    - name: "user del"      command: userdel -r huangqx      command: userdel -r daipj      comman...
899 0