Playbook

yum_repository模块

yum_repository模块⽤于配置yum仓库。 https://docs.ansible.com/ansible/latest/modules/yum_repository_m odule.html

增加⼀个/etc/yum.repos.d/local.repo配置⽂件

删除/etc/yum.repos.d/local.repo配置⽂件

yum模块(重点)

yum模块⽤于使⽤yum命令来实现软件包的安装与卸载。 https://docs.ansible.com/ansible/latest/modules/yum_module.html #yum-module

使⽤yum安装⼀个软件(前提:group1的机器上的yum配置都已经 OK)

使⽤yum安装httpd,httpd-devel软件,state=latest表示安装最新版本

使⽤yum卸载httpd,httpd-devel软件

service模块(重点)

service模块⽤于控制服务的启动,关闭,开机⾃启动等。 https://docs.ansible.com/ansible/latest/modules/service_module.ht ml#service-module

启动vsftpd服务,并设为开机⾃动启动

关闭vsftpd服务,并设为开机不⾃动启动

script模块

script模块⽤于在远程机器上执⾏本地脚本。 https://docs.ansible.com/ansible/latest/modules/script_module.ht ml#script-module

扩展: 使⽤shell脚本实现在group1的被管理机⾥的mariadb⾥创建⼀ 个abc库

command与shell模块

两个模块都是⽤于执⾏linux命令的,这对于命令熟悉的⼯程师来说, ⽤起来⾮常high。

shell模块与command模块差不多(command模块不能执⾏⼀些类似 $HOME,>,等符号,但shell可以)

https://docs.ansible.com/ansible/latest/modules/command_modul e.html

注意: shell模块并不是百分之百任何命令都可以,⽐如vim或ll别名就不 可以。不建议⼤家去记忆哪些命令不可以,⼤家只要养成任何在⽣产 环境⾥的命令都要先在测试环境⾥测试⼀下的习惯就好。

playbook

playbook(剧本): 是ansible⽤于配置,部署,和管理被控节点的剧本。⽤ 于ansible操作的编排。 参考:https://docs.ansible.com/ansible/latest/user_guide/playbooks _intro.html 使⽤的格式为yaml格式(saltstack,elk,docker,dockercompose,kubernetes等也都会⽤到yaml格式)

YMAL格式

以.yaml或.yml结尾
⽂件的第⼀⾏以 "---"开始,表明YMAL⽂件的开始(可选的)
以#号开头为注释 列表中的所有成员都开始于相同的缩进级别, 并且使⽤⼀个 "- " 作为开头(⼀个横杠和⼀个空格)
⼀个字典是由⼀个简单的 键: 值 的形式组成(这个冒号后⾯必须 是⼀个空格)

playbook实例

先直接来看⼀个实例

第1步: 创建⼀个存放playbook的⽬录(路径⾃定义)

第2步: 准备httpd配置⽂件,并修改成你想要的配置

第3步: 写⼀个playbook⽂件(后缀为.yml或.yaml)

第4步:

执⾏写好的palybook 会显示出执⾏的过程,并且执⾏的每⼀步都有ok,changed,failed 等标识 执⾏如果有错误(failed)会回滚,解决问题后,直接再执⾏这条命 令即可,并会把failed改为changed(幂等性)

Playbook常⻅语法

hosts: ⽤于指定要执⾏任务的主机,其可以是⼀个或多个由冒号分 隔主机组. 

remote_user: ⽤于指定远程主机上的执⾏任务的⽤户.

tasks: 任务列表, 按顺序执⾏任务.

如果⼀个host执⾏task失败, 整个tasks都会回滚, 修正playbook 中的错误, 然后重新执⾏即可.

handlers: 类似task,但需要使⽤notify通知调⽤。

不管有多少个通知者进⾏了notify,等到play中的所有task执⾏完 成之后,handlers也只会被执⾏⼀次.

handlers最佳的应⽤场景是⽤来重启服务,或者触发系统重启操 作.除此以外很少⽤到了.

variables: 变量 定义变量可以被多次⽅便调⽤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值