ansible 剧本模式

目录

1.剧本格式

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

2.1剧本中用到的命令

2.2书写具体剧本

[3.案例2 分发 安装软件包 启动服务的剧本](#3.案例2 分发 安装软件包 启动服务的剧本)

3.1下载软件包

3.2用yum安装

3.3启动服务

4.找出ansible中对应的模块

5.剧本实现

[4.ansible 剧本变量](#4.ansible 剧本变量)

4.1常用的变量的几种模式

[4.2 在剧本中定义变量](#4.2 在剧本中定义变量)

[4.3共用变量 变量文件 ​编辑](#4.3共用变量 变量文件 编辑)

[4.4 共用变量 根据主机组使用变量](#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: all
  tasks:
    - name: 01
      file:
        path: /server/files
        state: directory
    - name: 02
      file:
        src: /etc/hosts
        dst: /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: all
  tasks:
    - name: 01
      get_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: no
        dest: /tmp/
    - name: 02
      yum:
        name: /tmp/zabbix-agent-6.0.7-1.el7.x86_64.rpm
        state: present
    - name: 03
      debug:
        msg: "进行配置zabbix"
    - name: 04
      systemd:
        name: zabbix-agent
        enable: yes
        state: started

4.ansible 剧本变量

4.1常用的变量的几种模式

在剧本中定义

共同变量

facts变量

regsiter变量

4.2 在剧本中定义变量

复制代码
- hosts: all
  vars:
    dir: /oldboy/tidao/upload/tasks:
  tasks:
   - name: mkdir
     file:
     path: "{{ dir }}"
     state: directory 

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

4.3共用变量 变量文件

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

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

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

4.5facts变量

4.6rgister变量

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

相关推荐
小尧嵌入式几秒前
【Linux开发五】条件变量|信号量|生产者消费者模型|信号概念和常见信号|信号的使用和处理
linux·运维·服务器·开发语言·c++·嵌入式硬件
小林up6 分钟前
Ubuntu访问不了Git解决办法
linux·git·ubuntu
optimistic_chen6 分钟前
【Docker入门】Docker Image(Docker 镜像)
linux·运维·docker·容器·镜像
十月南城9 分钟前
高可用的三件事——无状态化、水平扩展与故障转移的协同设计
运维·web安全·微服务·云计算·xss
食咗未11 分钟前
Linux BT656转AHD显示调试记录
linux·驱动开发·显示屏·ahd out
爱莉希雅&&&16 分钟前
Docker 超详细全量笔记(含参数解释)
linux·运维·服务器·笔记·docker·容器
重生之绝世牛码18 分钟前
Linux软件安装 —— ClickHouse集群安装(集成Zookeeper)+ chproxy负载均衡
大数据·linux·数据库·clickhouse·软件安装·clickhouse集群安装·clickhouse负载均衡
信创天地19 分钟前
信创运维核心技术:国产化软硬件适配与故障排查全解析
运维·人工智能·开源·dubbo·运维开发·risc-v
学烹饪的小胡桃19 分钟前
WGCLOUD使用指南 - 如何监控交换机防火墙的数据
运维·服务器·网络
Howrun77720 分钟前
Linux网络编程_常见API
linux·运维·网络