ansible的簡單實驗

實驗背景:

Z公司爲了提升工作效率,消除重複任務,更少的錯誤風險,要求儘量減少對現網服務器的改動,因此在目前主流的運維自動化工具 中選擇Ansible來實現IT運維管理自動化。

 

實驗環境:

                                                                                                          

實驗內容一

  1. 確認實驗環境:

瞭解服務器和主機用的操作系統,以及各個設備的ip地址

設備

操作系統版本

Ip

與其他主機是否能ping’通

服務端

 

 

 

被管理端

 

 

 

 

 

  1. 安裝ansible(在控制端用yum方式安裝Ansible。)

CentOS (Yum)

 

第一步:新增 epel-release 第三方套件來源。

第二步安裝 Ansible。

 

 

3. 安裝python及ssh無密登錄

第一步:在所有節點上安裝yum、ssh、python:

控制節點:

被控制節點:

 

第二步:在控制節點上執行:ssh-keygen:

 

 

第三步:在控制節點上執行:

4. 修改配置文件ansible.cfg並配置被控制主機。

第一步:修改配置文件ansible.cfg

首先在管理節點上輸入:

 

輸入之後,會看見這樣一個界面:

 

接着點擊鍵盤上的i鍵進入insert模式,將下列圖中標黃的文件編輯進去

 

編輯完成之後保存並退出。

 

第二步:配置被控制主機

首先在管理節點上輸入:

輸入之後會看見默認的ansible的host文件,如下圖所示

同樣的還是輸入 i,進入insert模式編輯以下文件

 

因爲只用了一臺被控制節點,所以只輸入一個被控制節點的ip地址即可

保存配置文件並退出。

 

結果驗證:

 

通過輸入

來測試控制節點和被控制節點的連通性。

如圖所示,如果出現正確的相應信息,success,則證明上述操作無誤

 

 

 

實驗內容2 :通過ad-hoc命令批量管理服務器

任務一:測試各個遠程主機組webservers連通性。

在進行完實驗內容之後,通過輸入命令來測試控制主機和被控制主機組之間的連通性,如果出現以下success內容,則證明實驗環境良好,可繼續下列實驗。

 

任務二:查看遠程主機組webservers的網卡信息。

實驗解析:首先需要在被控制主機上查看被控制主機的網卡名稱是什麼,有的機器網卡名稱是eth0,有的則不是,如下圖所示,被控制主機的網卡名爲eno16777736

那麼當我們在控制主機上查看被控制主機的網卡信息時,一定要注意網卡的名稱是否對應,

                   圖1

我們在控制主機上輸入命令之後,就可以在控制主機上查看關於被控制主機的網卡信息,如圖1所示。

 

任務三:執行遠程主機腳本test.sh。

實驗解析:在控制主機上遠程控制被控制主機執行主機腳本,首先在被控制主機上有腳本,所以需要現在被控制主機上去創建腳本test.sh,如圖2,圖3所示,

                   圖2

創建腳本:

                       圖3

 

注意:/home/test.sh 腳本需要在遠程主機上存在且有執行權限,如圖4所示,修改權限。

                    圖4

在控制主機上通過輸入命令來檢查結果,如圖5所示。

                    圖5

 

 

任務四:主控端向目標主機拷貝test1.sh文件到/tmp/目錄下,並設置該文件所有者和所屬組爲root,文件權限爲rwxr-xr-x。

實驗解析:同樣的,主控端向目標主機拷貝test1.sh文件,首先在主控端是有這個文件的,所以需要在主控端去創建這個文件test1.sh。在此不做介紹了,上面已經解析過了。

如圖6所示

可以到目標主機上看一下是否有test1.sh的文件產生,如圖7所示,在目標主機上進入tmp目錄中,查看目錄下所有文件,可以發現test1.sh文件被成功建成。

                  圖7

 

任務五:查看遠程主機組webservers /etc/sysctl.conf文件uid, gid信息,如圖8所示

                   圖8

 

 

任務六:安裝httpd到所有遠程主機組webservers上。

如圖9所示

                  圖9

 

任務七:開啓遠程主機組webservers http服務,並查看服務狀態,首先啓動服務,如圖10所示

 

                 圖10

接着查看服務狀態如圖11所示

                     圖11

 

停止服務如圖12所示

                         圖12

 

 

任務八:在遠端服務器組webservers上創建/home/f1文件,並刪除/home/f1。

 

首先創建/home/f1文件,如圖13所示

                   圖13

在被控制主機上查看是否有/home/f1文件生成,在被控制主機上先進入home目錄在查看目錄文件有哪些,如圖14所示

             圖14

 

接着刪除/home/f1文件,如圖15所示

圖15

結果檢驗:

在被控制主機上查看/home/f1是否還存在,如圖16所示

                      圖16

 

 

實驗內容三:playbook自動部署Nginx

任務一:完成playbook自動部署Nginx。

首先在控制端創建文件main.yml

 

在這個文件裏面輸入一下內容,如下圖所示

保存並退出。

 

然後執行Playbook,如下圖所示

 

 

實驗結果驗證:

首先開啓nginx,如下圖所示

接着查看nginx的服務狀態,如下圖所示,表示成功安裝了nginx。

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