ansible自动运维工具之ansible-playbook详解

一、Playbook简介
在这里插入图片描述
二、playbook的核心元素
在这里插入图片描述
三、playbook格式
在这里插入图片描述
1、执行简单的playbook文件:
在这里插入图片描述
我这里编写的playbook文件如下:
在这里插入图片描述
playbook文件定义的任务需要通过ansible-playbook命令进行调用并执行,ansible-playbook命令用法如下:
在这里插入图片描述
其中option中的功能包括:

–syntax-check:检测yaml文件的语法。
-C:预测试,不会改变目标主机的任何设置。
–list-tasks:列出yaml文件的任务列表。
–list-hosts:列出yaml文件影响的主机列表。
–list-tags:列出yaml文件中的标签。
-t TAGS:表示只执行指定标签的任务。
–skip-tags=SKIP_TAGS:表示出了指定标签的任务,执行其他任务。
–start-at-task=START_AT:从指定任务开始往下运行。
执行a.yml文件的示例如下:
在这里插入图片描述
有一个在线的ansible-playbook语法检测工具,可以更直观的检查出语法中的错误,感兴趣可以看一下
2、触发器
在这里插入图片描述
handlers触发器的使用示例如下:
在这里插入图片描述
3、角色

将多种不同的tasks的文件集中存储在某个目录下,则该目录就是角色。角色一般存放在/etc/ansible/roles/目录下,可通过ansible的配置文件来调整默认的角色目录,/etc/ansible/roles/目录下有很多子目录,其中每一个子目录对应一个角色,每个角色也有自己的目录结构,结构如下:

在这里插入图片描述在这里插入图片描述
上面的目录中,tasks、handlers、vars、meta、default至少应该包含一个main.yml文件,该目录下也可以有其他.yml文件,但是需要在main.yml文件中用include指令将其他.yml文件包含进来。

有了角色后,可以直接在yaml文件(playbook配置文件)中调用角色,示例如下:
在这里插入图片描述
可以只调用一个角色,也可以调用多个角色,当定义了角色后,用ansible-playbook PALYBOOK文件执行即可。此时ansible会到角色集合的目录(/etc/ansible/roles)去找mysql和httpd目录,然后依次运行mysql和httpd目录下的所有代码。

下面来个安装及配置mariadb数据库的实例:
在这里插入图片描述
开始在ansible服务器上实施:
在这里插入图片描述
待安装完成后,在远端主机上查看是否已经创建了testdb数据库,并测试以test用户登录,自行测试吧

mysql -u root #进入数据库
show databases #查看数据库

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值