ansible實踐

blob.png

本偏文章以上圖拓撲部署

首先準備了6臺為centos7的主機(確保selinux和iptables不會成阻礙!關閉他們)

我們先來安裝ansible吧!

配置EPEL源過后使用 yum -y install ansible 

blob.png

?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。?/p>

出師不利啊,安裝ansible就失敗了。!!?。。。?/p>

blob.png

看了一下 好像確實缺少了python-jinja2

后來翻看了下網上資料,好像原因是centos7上默認安裝python版本為2.7,python-jinja2只能安裝在2.6上,后來決定編譯安裝! (糾正一下,后來發現是我的安裝光盤包不齊導致)

經過一番倒騰

blob.png

好像安裝成功了,不確定就$?看看 ,返回值為0 ,恩 應該成功了。

blob.png

看著好像確實成功了,我們去看看/etc/ansible/ansible.cfg 的文件在不在吧!!畢竟第一步我們就要添加需要管控的主機呢!

blob.png

看來他并沒有為我們提供inventory和配置文件,我們到解壓包里面去找找看有實例文件沒!

blob.png

果然在解壓后的examples目錄下有兩個文件,我們還是給它放在 /etc/ansible目錄下去吧

打開配置文件發現inventory和roles定義的路徑都被注釋掉了,我們就暫時先只改動這兩處吧,以后看有什么問題在改。

再來看hosts文件,把里面的全都刪掉,我們先隨便定義幾組

blob.png 先就這樣吧。

然后我們還需要配置ansible基于秘鑰方式登錄各主機

blob.png生成秘鑰

blob.png在將秘鑰發至各個主機

由此,我們所有準備工作就算完成啦!??!

我們先來通過ansible ping下所有主機

blob.png

OK啦 

我們就可以寫roles啦!??!先寫keepalived+nginx吧。

我們先想一下這兩臺主機部署的順序,首先要下載,我們得掛載yum的base和epel源,然后下載ntp時間進行同步(這里我用ansible這臺主機做時間服務器)接著安裝keepalived、提供配置文件、啟動服務

接著安裝nginx、修改他的配置文件、啟動服務。

寫的順序計劃好了,就準備開工吧??! 

blob.png

先創建目錄,然后創建main.yml

blob.png

先mount然后安裝ntp 然后替換ntpconf,這里我已經放了一個文件到file目錄里面,因為這個配置文件可以兩臺nginx完全相同不用放模板里面,直接放files目錄里面復制粘貼過去!

接著隨便找個地方創建個nginx.yml吧!

blob.png

看上去應該OK了 我們去測試下 

blob.png

又報錯了~~~~~~~~~~~~~~~~~~~~~~~

blob.png

這個箭頭指向了n 我的n沒寫錯啊ansible實踐 ,應該是格式的問題,我們修改一下

blob.png

改成了這樣~給他個縮進,再試試

blob.png

繼續報錯 我們在改

blob.png

改成了這樣,繼續試

blob.png

可以了~但是這里有個問題是mount居然是跳過了,但是下面的安裝ntp又沒問題,我去確認了一番,發現確實沒掛載,我們先讓他執行一次!

blob.png

看著好像是成功了 但是中間有個warning 好像是說使用掛載模塊不要執行running命令?

去測試了下兩臺主機確實已經掛載了 接著測試下時間是否同步了這才是我們需要的!

blob.png

并沒有同步。。??吹竭@里。。我想起了沒有啟動服務,以前做其他實驗時都是ntpdate命令直接同步時間,在改改

blob.png

一并改成了這樣,(之前其實不知道有mount模塊,馬哥沒說ansible實踐,看來還是要自己在實踐中多多學習)再來試試

blob.png

貌似沒問題 接著直接執行吧!

blob.png

好啦 沒問題了~ 不過和我們現實時間有點差別慢了2天而且是晚上11點咯。。。這個不管他啦 不影響我們keepalived同步就好 (生產環境中不行哦,如果和現實時間不同步,到時候看日志什么的搞得你頭痛)

我們接著把nginx和keepalived寫完吧

blob.png

把上面的注釋掉了,測試下吧

blob.png

應該是可以的,下面的報錯原因是我們是測試 并沒有安裝,所以服務沒法啟動,現在我去改下配置文件。

blob.png

這是我對keepalived修改 全都注釋掉了 就留了虛擬路由配置段,另外增加了一段對ngxin健康檢查的。

另外要注意途中state和priority使用的是變量替換,因為在兩個keepalived主機上這里是需要修改的,所以用了變量,再因此我們需要去編輯hosts文件了

blob.png

增加2個變量

接下來是nginx

blob.png

接下來寫的是apache和php的playbook

blob.png

這我真的想哭了。。。這個實驗做的。。。藍屏3次,無緣無故斷了四次網。。。我前面寫了一下午具體的流程。。。全沒了。。只能貼最終配置的結果了。。。

blob.png

這里我用nginx自己做了sorryserver,所以是此效果,(鑒于之前所說。。之前寫的具體流程。。全沒了。。只能看最終效果了。。。)

繼續mariadb吧!

blob.png

這里是我寫的mariadb的playbook  增加了個腳本授權root用戶遠程登錄和創建一個wordpress數據庫,這里我用ansible主機做了一個nfs準備讓apache兩臺主機同時掛載,提供一個wordpress。

blob.png

看上去應該OK了,我們用ansible主機登錄試試 

blob.png

OK啦,可以去下wordpress了

blob.png

已經把wordpress放到共享出去的分區啦,最后再來改一改apache的兩臺主機吧!

blob.png

這里只添加了最下面的3個安裝nfs掛載nfs和拷貝一個配置文件過去,如果配置文件更改就reload一下httpd服務。

blob.png

這是handlers里面所定義的。

接著來測試一遍吧

blob.png

ok了,直接運行一次

最后我們來改一改wordpress的文件

blob.png

接著打開瀏覽器來試下。

blob.png

報錯了,先來看下日志記錄了什么

blob.png

上面的都不用管它 居然提示tmp目錄下沒有匹配到index.html或者index.php頁面(這是肯定有的),通過最后一行推斷原因是不能用tmp做目錄,換一個目錄試下

blob.png

最后還是在根目錄下建了個html目錄,掛載至此吧。

blob.png

果然是我們推斷的原因,但是這里忘了裝php-mysql,手動裝下,

blob.png

裝上了,接著重啟服務,在訪問。

blob.png

成功了,我們先填寫下信息上去

blob.png

好像有點問題,這個問題跟當初做apache和php分離一樣,圖片加載不出來,當初以為是apache上沒有靜態內容,導致加載不出來,后面又把wordpress放到apache上,確實就可以了,但是現在掛載到本地的啊。。。應該不存在這個問題?。。。。?!但是這個狀況應該是wordpress的問題,暫時先不研究啦~(搞不懂這里是啥情況了,請求192.168.20.106,主頁的一部分請求被自動轉到105上,應該確實是wordpress問題)

還在我們這個實驗并不依賴這個,現在停一個apache試一下,看是否也能打開,還是可以打開的 接著把apache都停掉~看能否出來我們的sorry頁面??!

blob.png

可以的,我們實踐就做這里啦~~

ps:第一次感覺寫個不是作業的博客。。好心酸。。藍屏了4次。。無故斷網N次。。。。。

原創文章,作者:N24_Ghost,如若轉載,請注明出處:http://www.www58058.com/67206

(0)
N24_GhostN24_Ghost
上一篇 2017-01-26
下一篇 2017-01-27

相關推薦

  • 網絡班22期學習宣言

    馬哥Linux運維學院 學習宣言 親愛的小伙伴:        歡迎大家報名馬哥Linux運維網絡學習班,跟隨馬哥學習Linux技術,成就Linux大牛之夢。在這里,我們不僅可以學習到最優秀的技術課程,還可以跟著追夢的小伙伴們一起學習、一起進步。 為了督促大家一直積極認真努力的學習,請各位同學在評論區寫出你的學習宣言?!?/p>

    Linux干貨 2016-08-03
  • Linux 入門基礎 及一些常見命令(下)

    date:                    顯示日期時間:date [OPTION]… [+FORMAT]        &nbsp…

    Linux干貨 2016-09-17
  • keepalive實驗

    實驗環境centos 7 server x2 做keepalived主備 地址分別是192.168.0.200 192.168.0.201 Centos 7 server x2 做real server 采用DR模型   yum -y install ntp#安裝ntp client ntpdate 47.95.253.33#時間同步到自己的ntp…

    2017-12-11
  • 用vsftpd來搭建網絡yum源

    1、分別在CentOS6和CentOS7分別搭建網絡yum源 a、CentOS 7中 首先安裝并啟用vsftpd服務 [root@node1 ~]# mount /dev/cdrom /mnt/yum/ [root@node1 ~]# vim /etc/yum.repos.d/local.repo [local] name=local baseurl=fil…

    2015-10-03
  • 上古神器之vim

    sed 前言:前面學到了文本處理三劍客之一grep,但是grep在有些時候顯得力不從心,我們需要一款針對行操作的處理工具,沒錯,這就是sed流編輯器。 sed用法提煉: sed 's/(text1)(text2)(text3)/\1\2\3/'  vim 前言:強大的Linux如果沒有一款瘋狂的編輯器,常用的編輯操作會…

    Linux干貨 2016-08-12
  • Keepalived介紹 , 配置說明 , 及實際應用

    1. Keepalived介紹 Keepalived是一個基于VRRP協議來實現的服務高可用方案,可以利用其來避免IP單點故障,類似的工具還有heartbeat、corosync、pacemaker。但是它一般不會單獨出現,而是與其它負載均衡技術(如lvs、haproxy、nginx)一起工作來達到集群的高可用。 1.1 VRRP協議 VRRP全稱 Virt…

    Linux干貨 2016-11-04

評論列表(1條)

  • luoweiro
    luoweiro 2017-02-22 22:31

    很不錯的過程,尤其是出問題后排查思路,這部分是大家都需要學習的,贊。

欧美性久久久久