Ansible playbook格式 语法 Ansible playbook格式入门演示 基础了解

Ansible playbook格式简介

playbook由YMAL语言编写。YAML( /ˈjæməl/ )参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822,Clark Evans在2001年5月在首次发表了这种语言,另外Ingy döt Net与OrenBen-Kiki也是这语言的共同设计者。   YMAL格式是类似于JSON的文件格式,便于人理解和阅读,同时便于书写。首先学习了解一下YMAL的格式,对我们后面书写playbook很有帮助。

以下为playbook常用到的YMAL格式:
1、文件的第一行应该以 “—” (三个连➖字符)开始,表明YMAL文件的开始。   
2、在同一行中,#之后的内容表示注释,类似于shell,python和ruby。   
3、YMAL中的列表元素以”-”开头然后紧跟着一个空格,后面为元素内容。   
4、同一个列表中的元素应该保持相同的缩进。否则会被当做错误处理。   
5、play中hosts,variables,roles,tasks等对象的表示方法都是键值中间以":“分隔表示,”:"后面还要增加一个空格。

实例

---
---
# install mysql and enable mysql
- hosts: slave
  remote_user: root
  tasks:
    - name: install mysql-server package
      yum: name=mysql-server state=present
    - name: starting mysqld service
      service: name=mysql state=started

我们的文件名称应该以.yml结尾,像我们上面的例子就是mysql.yml
其中,有三个部分组成:
host部分:使用 hosts 指示使用哪个主机或主机组来运行下面的 tasks ,每个 playbook 都必须指定 hosts ,hosts也可以使用通配符格式。主机或主机组在 inventory 清单中指定,可以使用系统默认的/etc/ansible/hosts,也可以自己编辑,在运行的时候加上-i选项,指定清单的位置即可。在运行清单文件的时候,–list-hosts选项会显示那些主机将会参与执行 task 的过程中。

remote_user:指定远端主机中的哪个用户来登录远端系统,在远端系统执行 task 的用户,可以任意指定,也可以使用 sudo,但是用户必须要有执行相应 task 的权限。

tasks:指定远端主机将要执行的一系列动作。tasks 的核心为 ansible 的模块,前面已经提到模块的用法。tasks 包含 name要执行的模块,name 是可选的,只是为了便于用户阅读,不过还是建议加上去,模块是必须的,同时也要给予模块相应的参数。

运行结果

使用ansible-playbook运行playbook文件,得到如下输出信息,输出内容为JSON格式。并且由不同颜色组成,便于识别。一般而言 | 绿色代表执行成功,系统保持原样 | 黄色代表系统代表系统状态发生改变 | 红色代表执行失败,显示错误输出   
执行有三个步骤:
1、收集facts
2、执行tasks
3、报告结果
在这里插入图片描述


本次仅作为入门演示
因为没有安装 mysql 的yum 源 所以 是无法正常安装mysql 的
如果需要 批量安装mysql 的 可以根据前一章的 的内容配置 MySQl 的yum 源
下一站 使用ansible 对nginx 进行实战


本章完结

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ansible Playbook是一种用于自动化配置、部署和管理IT基础设施的工具。它使用YAML语法来描述一系列任务和配置,以实现对远程主机的自动化操作。 下面是Ansible Playbook的一些基本语法要点: 1. YAML格式Playbook使用YAML格式来定义任务和配置。YAML是一种人类可读的数据序列化格式,它使用缩进和冒号来表示层级关系。 2. 主机和组:Playbook可以指定要操作的主机或主机组。可以使用IP地址、主机名或主机组名称来标识主机。 3. 任务:Playbook由一个或多个任务组成。每个任务定义了要在远程主机上执行的操作,如安装软件包、配置文件等。 4. 模块:任务使用模块来执行具体的操作。模块是Ansible提供的可重用代码块,用于执行各种任务,如文件操作、服务管理、包管理等。 5. 变量:Playbook可以使用变量来传递参数和配置信息。变量可以在Playbook中定义,也可以从外部文件加载。 6. 条件和循环:Playbook支持条件语句和循环语句,可以根据条件执行不同的任务或重复执行某个任务。 7. 触发器:Playbook可以根据特定的事件触发执行,如定时任务、文件变化等。 8. 错误处理:Playbook可以定义任务失败时的处理方式,如忽略错误、终止执行等。 9. 角色:Playbook可以使用角色来组织和复用任务和配置。角色是一种可重用的Playbook组件,可以在多个Playbook中引用。 以上是Ansible Playbook的基本语法要点,通过编写Playbook,可以实现对远程主机的自动化配置和管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白嫖一茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值