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,然後又應該怎麼優化.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章