Ansible自动化运维工具学习-第二天

2023-11-14

Ansible入门学-第二天

前言

	亲爱的小伙伴,如果你已经阅读了博主的Ansible-第一天相信你应该对Ansible有了一定的了解.
不知道关于如何利用Ansible实现集群归档备份你有没有学会呢???
	今天暂且不谈Ansible的各个模块,因为博主又被提需求啦!!!!!(模块知识只能穿插着讲解了?)

如何利用Ansible部署agent

需求前言

	博主工作的地方有一套亚信安全平台(亚信安全服务器深度安全防护系统  (ps:听起来就很高大上!!!)
亚信安全系统(简称!!)是一套基于C/S架构的针对虚拟主机和虚拟系统的安全防控系统(具体就不解释了?),重点是它采用
的是通过部署Agent的方式,实现具体的功能的(说白了,没agent啥用没有),那问题来了!生产环境中那么多虚拟机,我怎么
部署这些Agent呢??

具体情况具体分析

我们先解读一下,亚信安全给的部署Agent的方式.

在这里插入图片描述

	先看看目录,简单粗暴,条理性清晰,完全挑不出任何毛病(?),看Windows正文
1.1 在DSM控制台,管理——》更新——》软件——本地,找到对应系统版本的Agent
1.2 右击导出安装程序,如下图
1.3 将导出的安装包放到需要被防护的虚拟机中,进行安装,安装步骤默认就可以
	看起来简单易懂,因为按照所写博客的知识不足以利用Ansible实现自动化,所以~~跳过(后面补上?) 
======那还是看看Linux下怎么部署Agent呢???==========
2.1 登录Linux虚拟机,使用uname -a命令,查看系统的内核版本
2.2 点击以下链接,查看对应系统内核的版本的Kernel包,然后在DSM控制台管理——》更新——》本地或者下载专区
	找到对应的Kernel包以及对应Linux系统的安装包导入DSM控制台
	http://files.trendmicro.com/documentation/guides/deep_security/Kernel%20Support/9.6/Deep_Security_96_SP1_kernels_EN.html
2.3 在DSM控制台管理——》更新——》本地找到对应Linux系统版本的安装包,右击选择导出安装程序,现已DSA for RedHat为例:
2.4	将导出的rpm包上传到Linux系统中,运行# rpm -ivh <package name>
	例:# rpm -ivh Agent-Core-RedHat_EL6-9.5.3-2754.x86_64.rpm
	需要注意的是确认Linux版本、内核版本、系统是X86还是X64
	查看命令rpm –qa | grep ds_agent
=======写的清楚明了,简单点来说就是=======
1 检查版本
2 对应版本
3 导出相应版本
4 上传到需要安装的虚机
5 安装rpm包

编写playbook脚本

什么是playbook???
playbook是Ansible中的一个术语,指的也就是用于配置管理的脚本.

直接上脚本,让我们一点一点的剖析脚本

- name: Linux Agent Deploy
  hosts: test1
  remote_user: root
  become: True
  vars:
          optpath: "/opt/agent/"
  tasks:
          - name: mkdir agnet
            command: mkdir /opt/agent
            when:
                    optpath is not exists

          - name: download agent
            command: scp root@172.10.10.1:/agent/Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm /opt/agent
            when:
                    - ansible_distribution == "CentOS" or ansible_distribution == "RedHat"
                    - ansible_distribution_major_version == "8"
          - name: install agent
            command: rpm -ivh /opt/agent/Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm

playbook写好之后让我们运行一次试试吧!!

[root@Ansible playbooks]# ansible-playbook install_agnet.yml 

PLAY [Linux Agent Deploy] **************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************
ok: [172.10.10.3]

TASK [mkdir agnet] *********************************************************************************************************
[WARNING]: Consider using the file module with state=directory rather than running 'mkdir'.  If you need to use command
because file is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg
to get rid of this message.

changed: [172.10.10.3]

TASK [download agent] ******************************************************************************************************
changed: [172.10.10.3]

TASK [install agent] *******************************************************************************************************
[WARNING]: Consider using the yum, dnf or zypper module rather than running 'rpm'.  If you need to use command because yum,
dnf or zypper is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg
to get rid of this message.

changed: [172.10.10.3]

PLAY RECAP *****************************************************************************************************************
172.10.10.3                : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

在检查一下 客户端是否按照我们的playnook执行

[root@test1 agent]# ls /opt/agent/
Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm
[root@test1 agent]# rpm -qa |grep ds_agent
ds_agent-9.6.2-8846.el7.x86_64

可以清除的看到脚本执行成功了,当然这只是一台 那如果是一个集群呢??(条件有限,两台模拟一下)

[root@Ansible playbooks]# ansible-playbook install_agnet.yml 

PLAY [Linux Agent Deploy] *************************************************************************************************************************************************************

TASK [Gathering Facts] ****************************************************************************************************************************************************************
ok: [172.10.10.3]
ok: [172.10.10.5]

TASK [mkdir agnet] ********************************************************************************************************************************************************************
[WARNING]: Consider using the file module with state=directory rather than running 'mkdir'.  If you need to use command because file is insufficient you can add 'warn: false' to this
command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.

changed: [172.10.10.5]
changed: [172.10.10.3]

TASK [download agent] *****************************************************************************************************************************************************************
changed: [172.10.10.3]
changed: [172.10.10.5]

TASK [install agent] ******************************************************************************************************************************************************************
[WARNING]: Consider using the yum, dnf or zypper module rather than running 'rpm'.  If you need to use command because yum, dnf or zypper is insufficient you can add 'warn: false' to
this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.

changed: [172.10.10.3]
changed: [172.10.10.5]

PLAY RECAP ****************************************************************************************************************************************************************************
172.10.10.3                : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
172.10.10.5                : ok=4    changed=3    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   


看起来执行成功了呢,那让我们检查一下吧!

[root@test1 agent]# ls
Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm
[root@test1 agent]# cd /opt/agent/
[root@test1 agent]# ls
Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm
[root@test1 agent]# rpm -qa |grep ds_agent
ds_agent-9.6.2-8846.el7.x86_64

[root@test2 ~]# cd /opt/agent/
[root@test2 agent]# ls
Agent-Core-RedHat_EL7-9.6.2-8846.x86_64.rpm
[root@test2 agent]# rpm -qa |grep ds_agent
ds_agent-9.6.2-8846.el7.x86_64
[root@test2 agent]# 

看来并没有任何问题

结语

那今天就写到这里了!! 明天我们在具体分析一下这个playbook,然后又应该怎么优化.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible自动化运维工具学习-第二天 的相关文章

随机推荐

  • Eclipse安装FindBugs插件

    上菜 一 FindBugs说明 Findbugs 是一个静态分析工具 它检查类或者 JAR 文件 将字节码与一组缺陷模式进行对比以发现可能的问题 利用这个工具 就可以在不实际运行程序的情况对软件进行分析 它可以帮助改进代码的质量 二 Fin
  • COLA之架构演变(一)

    一 常用架构 1 分层架构 2 CQRS架构 3 六边形架构 4 洋葱圈架构 二 COLA介绍 COLA 是 Clean Object Oriented and Layered Architecture的缩写 代表 整洁面向对象分层架构 目
  • Eclipse中配置Tomcat热部署

    在Eclipse中配置VM参数使Tomcat自动加载部署修改后的项目 如果在第二张图中选择了通过xml文件发布项目则还需要配置在xml中配置文件的信息
  • 什么是七牛云?七牛云的使用

    一 什么是七牛云 七牛云是国内知名的云计算及数据服务提供商 主要提供了现在网络上占据百分之就是打非结构化数据 也就是图片 音频 视频的云存储服务 二 七牛云的使用 1 注册账号 2 绑定邮箱 3 实名认证 必须进行 4 创建一个存储空间 5
  • 高效的学习方法(几个小技巧)

    几个学习小技巧 1 价值导向性学习法 发现 赋予学习内容意义或者使命感 价值导向性学习法是一种高效的思维方式 可以传递出这样的一种观点 学习上有意义 有价值的行为 而不是消极的 被动式的学习 首先 最重要的是赋予学习内容以意义 其次 定制清
  • RK3399 ,64位,Ubuntu16.04系统安装ROS-kinetic方法总结

    1 第一步是修改hosts vi etc hosts 在127 0 0 1 localhost 后边添加 rpdzkj 自己的ubuntu用户名 127 0 0 1 localhost rpdzkj 设置sources list 我选择的是
  • LaTeX公式符号总结(Markdown适用)

    文章目录 1 希腊字母 小写字母 大写字母 2 符号 箭头符号 二元运算符 逻辑符号 集合符号 特殊符号 3 运算和函数 4 矩阵和多行列式 5 括号与空格 6 颜色 字体颜色 背景颜色 RGB颜色和自定义 默认支持颜色 本文从 Typor
  • 开发日记(4)如何将Bitmap转换成Uri?

    1 bitmap to uri Uri uri Uri parse MediaStore Images Media insertImage getContentResolver bitmap null null 2 uri to bitma
  • 阿里:MySQL 单表数据最大不要超过多少行?为什么?

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 10 33 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网
  • 2023AIGC人才趋势洞察报告

    导读 自ChatGPT于2022年11月发布至今 其大大超出预期的 涌现 能力使得AIGC赛道被彻底点燃 从人力资源角度观察 AIGC相关的岗位明显增加的同时 人才对于此类岗位的投递也愈发积极 值得注意的是 AIGC并不单单是属于ICT行业
  • iOS APP 如何做才安全

    本来 写了一篇 iOS 如何做才安全 逆向工程 Reveal IDA Hopper https抓包 等 发现文章有点杂 并且 iOS 如何做才安全 这部分写的越来越多 觉得 分出来更清晰一点 所以拆成两部分 同时也是为了大家能 共同讨论 毕
  • osgEarth加载SXEarth下载的mbtiles地图文件(win10)

    使用晟兴地球 SXEarth 通过互联网下载mbtiles格式的地图文件 然后使用osgEarth加载 晟兴地球 SXEarth 下载地图文件 晟兴地球SXEarth是一款永久免费的3DGIS平台软件 由北京晟兴科技有限公司开发 支持在线G
  • 二分法,平衡二叉树、B树、B+树

    二分法 平衡二叉树 B树 B 树 二分法 二分法查找 算法要求 比较次数 二分法到二叉树 平衡二叉树 平衡二叉树概念 平衡二叉树的构建规则 平衡二叉树特点 B树 B tree B树的构建规则 B树的查询流程 B 树 B 树构建规则 B 树和
  • 【华为OD机试 2023】货币单位换算(C++ Java JavaScript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • 成功解决Win7 64位系统下GraphEdit 不能显示Directshow.net远程图表的问题

    首先问题如题 我是Win7 64位旗舰版操作系统 VS2010 使用Directshow net开发播放器程序 结果发现通过以前使用的GraphEdit无论如何不能看到远程图表 不管是重新注册spy dll PropPage dll等文件
  • 倒沖法-線邊倉

    倒冲法 倒冲法 Back flush 目录 隐藏 1 倒冲法概述 2 倒冲法的应用 3 倒冲法的隐性会计处理 1 4 倒冲错误的产生原因及处理程序 1 5 参考文献 编辑 倒冲法概述 倒冲法 Back flush 是ERP系统根据产成品收料
  • git错误 error: failed to push some refs to ‘https://github.com/...

    1 解决办法 git错误 error failed to push some refs to https github com 问题原因 远程库与本地库不一致造成的 在hint中也有提示把远程库同步到本地库就可以了 解决办法 使用命令行 g
  • Orange pi3 LTS Ubuntu22.04通过源码编译的方式安装opencv(C++版)

    硬件 orangepi 3 LTS 之前安装opencv的时候遇到了很多奇奇怪怪的错误 所以干脆重新写入系统后开始安装 安装Ubuntu22 04的过程按照官方提供的用户手册来操做 官方用户手册下载链接 http www orangepi
  • C++基础知识 - explicit 关键字

    explicit 关键字 作用是表明该构造函数是显示的 而非隐式的 不能进行隐式转换 跟它相对应的另一个关键字是implicit 意思是隐藏的 类构造函数默认情况下即声明为implicit 隐式 include
  • Ansible自动化运维工具学习-第二天

    Ansible入门学 第二天 前言 亲爱的小伙伴 如果你已经阅读了博主的Ansible 第一天相信你应该对Ansible有了一定的了解 不知道关于如何利用Ansible实现集群归档备份你有没有学会呢 今天暂且不谈Ansible的各个模块 因