前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Playbook管理复杂任务

使用Playbook管理复杂任务

作者头像
DevOps云学堂
发布2019-10-17 15:21:14
6980
发布2019-10-17 15:21:14
举报
文章被收录于专栏:DevOps持续集成

1.Ansible-PlayBook

Playbook是通过yaml文件来配置实现

YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表、标量等数据结构。其结构(Structure)通过空格来展示,序列(Sequence)里的项用"-"来代表,Map里的键值对用":"分隔。YAML文件扩展名通常为.yaml,如example.yaml。

Playbook可以用来管理复杂任务

对于需反复执行的、较为复杂的任务,我们可以通过定义 Playbook 来搞定。Playbook 是 Ansible 真正强大的地方,它允许使用变量、条件、循环、以及模板,也能通过角色 及包含指令来重用既有内容。下面我们来看看一些具体的实例。

实践1:批量安装MySQL数据库

编写yaml

代码语言:javascript
复制
 - hosts: webserver   remote_user: root   tasks:     - name: mysql-server install       yum: name=mysql-server state=present

参数解析

代码语言:javascript
复制
选项解析:hosts:webserver         #指定要执行指定任务的主机,其可以是一个或多个由冒号分隔主机组remote_user:root         #用于指定远程主机上的执行任务的用户tasks:#  任务-name:mysql-server  installing    # 给这个任务起的名字yum:name=mysql-server           #利用yum模块,安装软件的包名为mysql-serverstate=present                 #状态为安装  state=absent                  #状态为卸载

执行

代码语言:javascript
复制
ansible all -a "/bin/rpm -q mysql-server"ansible-playbook mysql-server.yaml

看到结果,ok=2 changed=1 说明客户机上的mysql-server安装成功了!

验证一下 mysql-server是否成功

代码语言:javascript
复制
ansible all -a "/bin/rpm -q mysql-server  "ansible all -a "/sbin/service mysqld start "     #启动mysqld

实践2:使用playbook创建计划任务

编写yaml

代码语言:javascript
复制
 - hosts: webserver   remote_user: root   tasks:    - name: crontab      cron: name="testjob" day='10' job="sh /opt/backup.sh"

运行

代码语言:javascript
复制
 ansible-playbook crond.yaml

看到结果,ok=2 changed=1 说明客户机上的crontab计划创建成功了!

代码语言:javascript
复制
ansible all -a 'crontab -l '     #查看各个节点crontab


注:

"ansible-doc -l" 命令来查看它内置的有哪些模块。

"ansible-doc 模块名" 命令来查看具体模块的详细用法。

感谢查阅,欢迎你给我留言,也欢迎分享更多的朋友一起阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档