当前位置: 首页 > news >正文

ansible-playbook 剧本

1.Playbook介绍

一个剧本里面可以有多个play(任务列表),每个play只能有一个tasks(只有一个任务),每个tasks可以有多个name(指定描述)

playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的tasks,可以让远端主机达到预期的状态。playbook是由一个或多个”play”组成的列表。 当对一台机器做环境初始化的时候往往需要不止做一件事情,这时使用playbook会更加适合。通过playbook你可以一次在多台机器执行多个指令。通过这种预先设计的配置保持了机器的配置统一,并很简单的执行日常任务。

工作原理:

ansible通过不同的模块实现相应的管理,管理的方式通过定义的清单文件(hosts)所管理的主机包括认证的方式连接的端口等。所有的功能都是通过调用不同的模块(modules)来完成不同的功能的。不管是执行单条命令还是play-book都是基于清单文件。执行的方式可以是对本地执行也可以通过ssh的方式对远程主机进行操作,常见的是通过ssh的方式,对远程主机进行操作。

playbook格式

playbook由YMAL语言编写。YMAL格式是类似于JSON的文件格式,便于人理解和阅读,同时便于书写。

核心元素:
Playbooks  
Variables     #变量元素,可传递给Tasks/Templates使用;  
Tasks          #任务元素,由模块定义的操作的列表,即调用模块完成任务;  
Templates   #模板元素,使用了模板语法的文本文件;  
Handlers     #处理器元素,通常指在某事件满足时触发的操作;  
Roles          #角色元素

playbook的基础组件:
name:
    定义playbook或者task的名称(任务的描述信息),每一个play都可以完成一个任务。
hosts: 
    playbook中的每一个paly的目的都是为了让某个或某些以某个指定用户的身份执行任务。hosts用于指定要执行指定任务的主机.
user :
    remote_user则用于指定远程主机上的执行任务的用户,也可以使用user(基本上是root)
tasks :
    任务列表play的主体部分是task list. task list中的各任务按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个任务后再开始第二个。
vars:
   定义变量(如果不使用内部变量需要提前定义)定义到剧本中
vars_files:
  调用定义变量文件   定义到文件中
notify:
    任务执行结果如果是发生更改了的则触发定义在handler的任务执行
handlers:
    用于当前关注的资源发生变化时采取一定指定的操作

写剧本注意项:
不可以使用tab
同级元素对齐
一个key对应一个值是字典
:后面是空格
通过缩进表示层级关系
 中间有错,直接退出不接着执行,想要有错接着执行要加参数
 =识别不到,可以用:

2. 剧本

2.1 

参数解释:
    hosts: 参数指定了对哪些主机进行操作;
    user: 参数指定了使用什么用户登录远程主机操作;
    tasks: 指定了一个任务.
    name:参数同样是对任务的描述,在执行过程中会打印出来。

[root@ansible-server ~]# cd /etc/ansible/
[root@ansible-server ansible]# vim test.yml  #创建文件必须以.yml结尾
---   #分隔符也可以不写- hosts: webservers1user: roottasks:- name: playbook_testfile: state=touch path=/tpm/playbook.txt
检测语法:
[root@ansible-server ansible]# ansible-playbook --syn

相关文章:

  • 借助WOOT秒杀提高新品排名
  • emu8086 v4.08安装教程
  • XJTU-SY轴承振动数据集的json自封装
  • 基于GA遗传优化的FIR滤波器幅频相频均衡补偿算法matlab仿真
  • 【HTML-14】HTML 列表:从基础到高级的完整指南
  • Qt使用智能指针
  • 泰迪杯特等奖案例深度解析:基于多模态点云融合与域自适应的电力设备缺陷检测系统设计
  • 第五章 宽松内存一致性模型 A Primer on Memory Consistency and Cache Coherence - 2nd Edition
  • 【多线程初阶】初识线程 创建线程
  • 模型自学推理:自信驱动进化
  • Linux程序与进程
  • Android LiveData 详解
  • 查询oracle进程数和会话数进行优化
  • 友达光电12.1寸液晶屏G121XN01 V001工控屏
  • 深入浅出DeepSeek:从零开始的AI编程指南
  • There is a chart instance already initialized on the dom. 柱状图初始化时报前面这个错误如何解决?
  • 龙虎榜——20250528
  • LeeCode 94. 二叉树的中序遍历
  • 74道Node.js高频题整理(附答案背诵版)
  • 简乐 1.4.0 | 非常简洁 无损下载 畅听全网
  • .net网站源码下载/网站怎么做到秒收录
  • 深圳大型论坛网站建设/电脑培训网
  • 政府网站建设升级白皮书/搜狗网
  • 做导购网站赚钱/北京网站优化排名推广
  • 业余学做衣服上哪个网站/竞价推广工作内容
  • 做网站买狗怎么样/搜索引擎谷歌