ansible 剧本模式

目录

1.剧本格式 

​编辑​编辑2.案例1创建目录分发文件剧本

2.1剧本中用到的命令 

2.2书写具体剧本 

3.案例2 分发 安装软件包 启动服务的剧本 

3.1下载软件包 

3.2用yum安装 

3.3启动服务 

4.找出ansible中对应的模块 

5.剧本实现 

4.ansible 剧本变量 

4.1常用的变量的几种模式 

4.2 在剧本中定义变量   

4.3共用变量 变量文件 ​编辑

4.4 共用变量 根据主机组使用变量  

4.5facts变量 

​编辑

4.6rgister变量  


1.剧本格式 








2.案例1创建目录分发文件剧本

 

2.1剧本中用到的命令 


书写一个创建文件并且分发的剧本 
首先我们要写出创建目录然后分发的两个ansible命令

ansible -m file -a 'path=/server/path state=directory'ansible -m copy -a 'path=/etc/hosts dest=/server/files/ '

 

2.2书写具体剧本 
 


我们需要把命令的模式改为剧本 

所以我们根据格式书写以下剧本 

---
- hosts: alltasks:- name: 01file:path: /server/filesstate: directory- name: 02file:src: /etc/hostsdst: /server/files/



 

3.案例2 分发 安装软件包 启动服务的剧本 
 

找出用到的每个命令 

3.1下载软件包 
 

wget https://mirrors.tuna,tsinghua.edu.cn/zabbix/zabbix/60/rhel/7/x86 64/zabbix-agent-6.0.7-1.el7.x86_64.rpm


3.2用yum安装 
 

yum -y install  zabbix-agent 

3.3启动服务 

systemctl zabbix-agent start 



4.找出ansible中对应的模块 
 

下载安装包  get_url 模块 
安装  yum 模块
启动  systemd 模块 

 


5.剧本实现 
 

- hosts: alltasks:- name: 01get_url:url: "https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix6.0/rhel/7/x86_64/zabbix-agent-6.0.7-1.el7.x86_64.rpm"validate_certs: nodest: /tmp/- name: 02yum:name: /tmp/zabbix-agent-6.0.7-1.el7.x86_64.rpmstate: present- name: 03debug:msg: "进行配置zabbix"- name: 04systemd:name: zabbix-agentenable: yesstate: started


 

4.ansible 剧本变量 

4.1常用的变量的几种模式 


在剧本中定义 
 

共同变量 

facts变量 

regsiter变量 

4.2 在剧本中定义变量   

- hosts: allvars:dir: /oldboy/tidao/upload/tasks:tasks:- name: mkdirfile:path: "{{ dir }}"state: directory 

比如这个例子中vars下面定义了一个地址并且赋值给dir 但是要注意我们在使用时如果变量是选项的开头那么引用时需要加上双引号 


4.3共用变量 变量文件 



 

在这里引用一个文件 使用文件里面的变量 



4.4 共用变量 根据主机组使用变量  

在/server/scripts/playbook/下创建一个属于all这个主机组的文件,并且在另外一个主机分组为ALL的剧本文件中文件中 


 



4.5facts变量 
 







 

4.6rgister变量  
 


本质上就是实现反引号的功能的 



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/54645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第38天| 198.打家劫舍;213.打家劫舍II;337.打家劫舍III

第九章 动态规划part07 今天就是打家劫舍的一天,这个系列不算难,大家可以一口气拿下。 198.打家劫舍 视频讲解:https://www.bilibili.com/video/BV1Te411N7SX // 动态规划 class Solution {public int rob(int[] nums) {if (nums null |…

RabbitMQ入门1—queue参数之type

RabbitMQ 队列的 type 参数,这个参数是在 RabbitMQ 3.8.0 及以后版本引入的,它允许指定队列的存储和行为模式。type 参数有以下几种可选值: 1. classic 描述:这是 RabbitMQ 的传统队列类型,也是默认类型。如果不指定…

YOLO11涨点优化:注意力魔改 | 轻量级自注意力机制CoordAttention | CVPR2021

💡💡💡本文改进内容:CoordAttention优势,不仅会考虑输入的特征信息,还会考虑每个像素点的位置信息,从而更好地捕捉空间上的局部关系和全局关系。 💡💡💡本文改进:分别加入到YOLO11的backbone、neck、detect,助力涨点 改进1结构图: 改进2结构图: 改进3结构

【HTTPS】深入解析 https

我的主页:2的n次方_ 1. 背景介绍 在使用 http 协议的时候是不安全的,可能会出现运营商劫持等安全问题,运营商通过劫持 http 流量,篡改返回的网页内容,例如广告业务,可能会通过 Referer 字段 来统计是…

【Java】—— 泛型:泛型的理解及其在集合(List,Set)、比较器(Comparator)中的使用

目录 1. 泛型概述 1.1 生活中的例子 1.2 泛型的引入 2. 使用泛型举例 2.1 集合中使用泛型 2.1.1 举例 2.1.2 练习 2.2 比较器中使用泛型 2.2.1 举例 2.2.2 练习 1. 泛型概述 1.1 生活中的例子 举例1:中药店,每个抽屉外面贴着标签 举例2&…

图示详解OpenEuler下 DNS安装、配置与测试

前言 DNS配置内容、步骤、参数较多,初学者很难短时间掌握,另外,理解DNS工作原理也有一定的难度,一次配置成功的概率不大,因此,建议在配置DNS之前,先读一下之前笔者的博文《详解DNS工作原理及实…

Ubuntu24.04.1系统下VideoMamba环境配置

文章目录 前言第一步:基本的环境创建第二步:causal-conv1d和mamba_ssm库的安装第三步:安装requirements.txt 前言 VideoMamba环境的配置折磨了我三天,由于Mamba对Cuda的版本有要求,因此配置环境的时候Cuda版本以及各种…

Nginx 使用 GeoIP 模块阻止特定国家 IP 地址的最佳实践

一、概述 为什么要阻止特定国家的 IP 地址? 在全球化的互联网上,网站和服务器可能会面对来自不同国家和地区的用户流量。虽然大多数情况下,我们希望网站能为全球用户提供服务,但在某些特定场景下,阻止来自特定国家的…

嵌入式通信协议 --- 学习/速查手册

1. 为什么要学习通信协议 基础知识:理解不同通信协议的工作原理是嵌入式系统和物联网的基础,这有助于开发人员在项目中进行有效的设计和实施。选择合适的协议:不同的应用场景需要不同的通信协议。掌握各种协议的特性和优势,可以帮…

(20)MATLAB使用卡方(chi-square)分布生成Nakagami-m分布

文章目录 前言一、使用卡方分布函数生成Nakagami分布随机变量二、MATLAB仿真1.仿真代码2.运行结果 前言 Nakagami分布随机变量的生成,可以使用gamma分布实现,也可以使用卡方(chi-square)分布随机变量生成。使用伽马(g…

数据结构——排序(插入排序)

目录 一、插入排序 二、直接插入排序 基本概念: 工作原理: 示例: 代码实现 三、希尔排序 (一)基本概念 (二)工作原理 (三)示例 (四)代码实…

new Date()解析

JavaScript 中的 new Date() 构造函数用于创建一个表示日期和时间的对象。Date 对象使得你可以以多种方式获取、设置和格式化日期和时间。让我们深入解析一下 new Date() 及其用法。 创建 Date 对象 可以通过多种方式创建 Date 对象: 不带参数: let no…

120页满分PPT | 企业级业务架构和IT架构规划方案

方案内容综述 方案涵盖了从战略分析到具体实施路径的内容。提出了IT架构规划的工作思路,包括项目启动、部门访谈、资料收集、内部数据库搜索与先进实践研究等步骤,旨在通过这些步骤完成现状及差距分析,并基于此设计未来的应用架构、数据架构…

ubuntu24开启启动脚本

因为我是在之前装的是windows和ubuntu双系统,所以想在ubuntu中自动挂载和开启时做些自己的脚本处理开发环境。 我的脚本如下: truedei@truedei-code:~$ cat mount.shsudo umount /media/truedei/*#sudo ntfsfix /dev/sda3 #sudo ntfsfix /dev/sda4 #sudo ntfsfix /dev/sda5…

算法:724.寻找数组的中心下标

题目 链接:leetcode链接 思路分析(前缀和) 根据题意,我们可以将数组看成三个部分 [left] [mid] [right] 我们只需要[left]区间内的元素和等于[right]区间的元素和即可,此时mid就是中心下标 那么我们可以借助前缀和思…

鸿蒙开发之ArkUI 界面篇 二十 position绝对定位及层级zIndex

position控制组件的位置,可以实现层叠效果,Android中的FramLayout,通常用在左上角有些图标之类,绝对定位后的组件不占用自身原有位置,每个子组件都有这个属性,只是不用这个属性的时候不起作用,.zIndex()属性要和positi…

微服务——分布式事务

目录 分布式事务 1.1分布式事务的特性 1.2分布式事务应用背景 ​编辑 1.3.认识Seata 1.4部署TC服务 1.4.1.准备数据库表 1.4.2.准备配置文件 1.4.3.Docker部署 1.5.微服务集成Seata 1.5.1.引入依赖 1.5.2.改造配置 1.5.3.添加数据库表 ​编辑1.6.XA模式 1.6.1.两…

Zabbix 7.2入门实战

基于Docker安装 自定义Docker网络 docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net 拉取镜像 # 拉取Zabbix官方Docker镜像 docker pull zabbix/zabbix-server-mysql docker pull zabbix/zabbix-web-nginx-mysql docker pull zabbix/z…

聊聊Mysql的MVCC

1 什么是MVCC? MVCC,是Multiversion Concurrency Control的缩写,翻译过来是多版本并发控制,和数据库锁一样,他也是一种并发控制的解决方案。 我们知道,在数据库中,对数据的操作主要有2种&#…

【React】setState 是怎么记住上一个状态值的?

在 React 中,setState 通过 React 内部的状态管理机制来记住上一个状态值。即使每次组件重新渲染时,函数组件会被重新执行,React 仍能通过其内部的状态管理系统保持和追踪组件的状态变化。下面详细解释其工作原理: 1. setState 的…