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

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,然后又应该怎么优化.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熬野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值