首页 > 其他分享 >Playbook

Playbook

时间:2024-08-21 18:53:36浏览次数:12  
标签:docs ansible yum playbook 模块 latest 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: 变量 定义变量可以被多次⽅便调⽤

标签:docs,ansible,yum,playbook,模块,latest,Playbook
From: https://blog.csdn.net/m0_72009757/article/details/141365729

相关文章

  • 2024.8.20(playbook剧本安装nginx、roles)
    一、playbook 剧本安装nginx[root@m0~]#mkdir/etc/ansible/playbook[root@m0~]#vim/etc/ansible/playbook/nginx.yml----hosts:group02remote_user:roottasks:-name:卸载httpdyum:......
  • ansible自动化之playbook剧本【nginx安装为例】
    一、简介roles则是ansible中,playbooks的目录组织结构。将代码或者文件进行模块化,成为roles的文件目录组织结构,易管理,易理解,代码可重用,层次清晰。二、准备目录结构创建所需目录:mkdir-proles/nginx/{files,handlers,tasks,templates,vars}创建所需文件:touchroles/......
  • 云计算实训31——playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作
    playbook(剧本):是ansible⽤于配置,部署,和管理被控节点的剧本。⽤于ansible操作的编排。使⽤的格式为yaml格式一、YMAL格式以.yaml或.yml结尾⽂件的第⼀⾏以"---"开始,表明YMAL⽂件的开始(可选的)以#号开头为注释列表中的所有成员都开始于相同的缩进级别,并且使⽤⼀......
  • 基于ansible playbook 自动化巡检生成xlsx报告
    IAAS自动化巡检生成xlsx报告项目结构:├──README.md├──filter_plugins生成json数据├──generate_xlsx.yml生成xlsx文件├──group_vars全局变量├──library数据处理及生成xlsx模块├──report最终xlsx报告保存├──roles巡检代码├──......
  • playbook+roles安装nginx实战
    基本目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]192.168.xx.xxplaybook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-rol......
  • playbook+roles安装jdk实战
    目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]node3node4playbook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-role:java就指......
  • playbook+roles安装nginx实战
    基本目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]192.168.xx.xxplaybook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-role:ngi......
  • ansible-playbook
    ansible-playbook执行脚本,并输出到控制台-name:Deploynginxlogrotate.shandprinttheresulthosts:allbecome:yes#如果需要以root权限执行命令,则需要这一行tasks:-name:Deploylogrotate.shscript:/home/xxx/nginxLograte/deploy_nginxlogra......
  • 5.1编写ansibleplaybook批量安装二进制
    本节重点介绍:ansibleplaybook编写rsyslog和logrotateservice_deployyaml的编写配置机器直接的ssh免密码登录节点主机名host解析节点主机名写入hostsecho"192.168.3.200prome-master01">>/etc/hostsecho"192.168.3.201prome-node01">>/etc/hosts......
  • 4 Ansible Playbook
    1AnsiblePlaybook简介Ansible靠ansible命令是撑不起自动化管理这把大伞的,Ansible真正强大的是playbook,它才是Ansible撬动自动化管理的结实杠杆。ansbile-playbook是一系列ansible命令的集合,利用yaml语言编写。playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很......