亲爱的小伙伴,如果你已经阅读了博主的Ansible-第一天相信你应该对Ansible有了一定的了解.
不知道关于如何利用Ansible实现集群归档备份你有没有学会呢???
今天暂且不谈Ansible的各个模块,因为博主又被提需求啦!!!!!(模块知识只能穿插着讲解了?)
博主工作的地方有一套亚信安全平台(亚信安全服务器深度安全防护系统 (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
例:# 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是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,然后又应该怎么优化.