首页 > 其他分享 >Ansible-playbook 应用梳理

Ansible-playbook 应用梳理

时间:2024-08-26 11:05:59浏览次数:6  
标签:name -- ansible host Ansible playbook path 梳理

前面已经介绍过Ansible的安装配置及常见模块的使用 --《Linux下使用Ansible处理批量操作

Palybook简介

palybook是由一个或多个paly组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所谓 task 无非是调用 ansible 的一个 module。将多个play组织在一个 playbook 中,即可以让它们联同起来按事先编排好的机制同唱一台大戏。

一个playbook由以下几个部分组成

  • hosts:运行执行任务(task)的目标主机。
  • remote_user:在远程主机上执行任务的用户。
  • tasks:任务集。
  • varniables: 内置变量或自定义变量在playbook中调用,变量替换{{ variable_name }}。
  • templates:模板,即使用模板语法的文件,比如配置文件等,使用jinja2语法。
  • handlers:和notity结合使用,由特定条件触发的操作,满足条件方才执行,否则不执行。
  • tags:标签,指定某条任务执行,用于选择运行playbook中的部分代码。

注意:

  1. gather_facts是一个play级别的指令设置,是负责收集目标主机信息的任务,由setup模块提供。默认情况下,每个play都会先执行这个特殊的任务,收集完信息之后才开始执行其它任务。但是,收集目标主机信息的效率很低,如果能够确保playbook中不会使用到所收集的信息,可以显式指定gather_facts: no来禁止这个默认执行的收集任务。
  2. handler用来执行某些条件下的任务,比如当配置文件发生变化的时候,通过notify触发handler去重启服务。在saltstack中也有类似的触发器,写法相对Ansible简单,只需要watch,配置文件即可。

为什么引入Playbook?

  • playBook功能比ad-hoc更全,是对ad-hoc的一种编排。
  • playBook能很好的控制先后执行顺序,以及依赖关系。
  • playBook语法展现更加的直观。
  • playbook可以持久使用,ad-hoc无法持久使用。

YAML的基本语法规则

  • playbook文件扩展名可以是yaml,也可以是yml。使用“#”号表示注释至行尾。
  • 在playbook文件中,可以连续三个减号(---)区分多个play。还有选择性的连续三个点(...)用来表示play的结尾,也可省略。
  • 第二行开始正常写playbook的内容,一般都会写上描述该playbook的功能。建议尽量为每个play和每个task都命名,且名称具有唯一性。
  • 只允许使用空格,缩进的级别必须是一致的,同样的缩进代表同样的级别,不能用Tab键缩进;程序判别配置的级别是通过缩进结合换行实现的。
  • YAML文件内容是区分大小写的,key/value的值均需大小写敏感。多个key/value可同行写也可换行写。同行使用分号(

    标签:name,--,ansible,host,Ansible,playbook,path,梳理
    From: https://www.cnblogs.com/zhangwencheng/p/17772930.html

相关文章

  • Playbook剧本案例实战
    script模块script模块⽤于在远程机器上执⾏本地脚本。#在master上准备⼀个脚本[root@m0~]#vimtest.shmkdir/tmp/threetouch/tmp/three/testecho'iamecho,isusedwrite'>/tmp/three/test[root@m0~]#sourcetest.sh#在group02的远程机器⾥都执⾏master上的......
  • ansible自动化部署rabbitmq
    一、准备环境1、准备机器本次以192.168.190.155,192.168.190.156,192.168.190.157,192.168.190.158四台虚机为例,本文操作全在管理机中。机器IP节点CPU&内存系统盘存储192.168.190.155Ansible管理机2C4G50GB50GB192.168.190.158Master/Worker(被管理机)2......
  • 华为流程框架梳理及实施
             获取全部108页完成PPT材料,见下图 ......
  • ansible template
     Jinja2文档:https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_templating.htmlAnsible的template模块用于将Jinja2模板文件(.j2文件)渲染并生成目标文件。它的主要功能是根据变量动态生成配置文件或其他内容,并将其分发到目标主机。template模块在管理......
  • 电磁介质 知识梳理
    1.电介质\[\def\oiint{{\bigcirc}\kern-11.5pt{\int}\kern-6.5pt{\int}}\def\oiiint{{\bigcirc}\kern-12.3pt{\int}\kern-7pt{\int}\kern-7pt{\int}}\]1.1极化的微观机制在一类电介质中,当外电场不存在时,电介质分子的正负电荷中心是重合的,这类分子叫做无极分子;另外一类电介质......
  • ansible详解
    一、语法usage:ansible[-h][--version][-v][-b][--become-methodBECOME_METHOD][--become-userBECOME_USER][-K|--become-password-fileBECOME_PASSWORD_FILE][-iINVENTORY][--list-hosts][-lSUBSET][-PPOLL_INTE......
  • Nginx: 体系化知识点梳理
    概述我们需要对Nginx要有体系化的一个认识对Nginx自身来说,它是作为一个中间件的,只要是中间件,它必然会涉及到前端和后端对于Nginx来说,它是需要协调整个前后端的一个组件那对于中间件来,我们要理解整个外部系统前端和后端是如何进行交互的我们一个用户请求过来以后,......
  • Nginx: 配置项之main段核心参数用法梳理
    概述我们了解下配置文件中的一个全局段,有哪些配置参数,包括后面的events字段,有哪些配置参数这里面也有一些核心参数,对于我们Nginx运行的性能也是有很重要的帮助我们现在首先关注整个main段的一个核心参数用法所谓main段,是指在nginx.conf配置文件中,除了有events......
  • Playbook
    yum_repository模块yum_repository模块⽤于配置yum仓库。https://docs.ansible.com/ansible/latest/modules/yum_repository_module.html增加⼀个/etc/yum.repos.d/local.repo配置⽂件删除/etc/yum.repos.d/local.repo配置⽂件yum模块(重点)yum模块⽤于使⽤yum命令来......
  • Ansible Jinja2 使用及示例
    目录Jinja2Jinja2For循环Jinja2If条件Jinja多值合并Jinja2掌握了Jinja才是深入Ansible-playbook的开始Jinja2For循环变量的提取使用{{variable}}{%statementexecution%}括起来的内容为Jinja2命令执行语句{%foriteminall_items%}{{item}}{%endfor......