亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的部署與應(yīng)用

    1、 案例概述

    作為一名系統(tǒng)管理員,維護服務(wù)器正常運行是最基本的職責,在管理幾臺到幾十臺服務(wù)器時,大部分管理員喜歡自己寫小工具來維護,但隨著服務(wù)器的數(shù)量曾多,任務(wù)量也逐漸增多,這時就需要簡潔的、強大的框架來完成系統(tǒng)管理的任務(wù),為了實現(xiàn)這一目的,我們引入了一些工具,這些工具是可編程的,系統(tǒng)管理員只需要為這個工具寫上幾行代碼,它便會自動的完成所有的工作,這批工具就是運維自動化puppet,它可以針對多臺服務(wù)器進行統(tǒng)一操作,如部署統(tǒng)一的軟件、進行統(tǒng)一上線維護等,而且能快速完成上線部署,減少人力及人力誤操作風險。

    2、 Puppet的工作原理

    Puppet的目錄是讓管理員只集中于要管理的目標,而忽略實現(xiàn)的細節(jié)。Puppet即可以運行在單機上,也可以以C/S結(jié)構(gòu)使用。在大規(guī)模使用puppet的情況下,通常使用C/S結(jié)構(gòu),在這種結(jié)構(gòu)中puppet客戶端只運行puppeclient,puppet服務(wù)端只運行puppemaster。

    1、puppet具體的工作原理

    Puppet的搭建和應(yīng)用從入門到精通

     

         

    1)      客戶端puppet調(diào)用fast探測出主機的一些變量,如主機名、內(nèi)存大小、IP地址等。Puppet把這些信息使用SSL連接發(fā)送給服務(wù)器端

    2)      服務(wù)器端的puppetmaster通過fast工具分析檢測客戶端的主機名,然后找到項目的主配置文件manifest里面對應(yīng)的node配置,并對該部分內(nèi)容進行解析,fast發(fā)送過來的信息可以作為變量處理,node牽扯到的代碼才被解析,沒牽扯到的不解析,解析分為語法檢查,如果語法沒錯,繼續(xù)解析,解析結(jié)果生成一個結(jié)果‘偽代碼’,然后把‘偽代碼’發(fā)給客戶端

    3)      客戶端收到‘偽代碼’并且執(zhí)行,客戶端把執(zhí)行結(jié)果發(fā)給服務(wù)器

    4)      服務(wù)器端把客戶端的執(zhí)行結(jié)果寫入日志

    2puppet工作過程中的注意事項

    1)      為了保證安全,Client和Master之間是基于SSL和證書的,只有經(jīng)Master證書認證的Client可以與Master通信

    2)      Puppet會讓系統(tǒng)保持在人們所期望的某種狀態(tài)并一直維持下去,如檢測某個文件并保證其一直存在,保證SSH服務(wù)始終開啟,如果文件被刪除了或者ssh服務(wù)關(guān)閉了,puppet下次執(zhí)行時(默認30分鐘)會重新創(chuàng)建該文件或者啟動SSH服務(wù)

    3、 項目環(huán)境

     Puppet的搭建和應(yīng)用從入門到精通

     

    主機

    操作系統(tǒng)

    IP地址

    主要軟件

    Puppetmaster

    CentOS6.5

    192.168.31.83

    Ruby-rdoc-1.8.7.352

    Ruby-libs-1.8.7.352

    Ruby-irb-1.8.7.352

    Ruby-1.8.7.352

    Puppet-2.7.21.tar.gz

    Facter-1.7.1.tar.gz

    Puppetclient1

    Centos6.5

    192.168.31.184

    Ruby-rdoc-1.8.7.352

    Ruby-libs-1.8.7.352

    Ruby-irb-1.8.7.352

    Ruby-1.8.7.352

    Puppet-2.7.21.tar.gz

    Facter-1.7.1.tar.gz

    Puppetclient2

    Centos6.5

    192.168.31.79

    Ruby-rdoc-1.8.7.352

    Ruby-libs-1.8.7.352

    Ruby-irb-1.8.7.352

    Ruby-1.8.7.352

    Puppet-2.7.21.tar.gz

    Facter-1.7.1.tar.gz

    NTP server

    Centos6.5

    192.168.31.224

     

    4、 項目實施

    1、        搭建puppetmaster

    1)      規(guī)劃服務(wù)器主機名

    在小的規(guī)模puppet環(huán)境下,一般修改/etc/hosts文件,然而在上千臺服務(wù)器的環(huán)境中,我們要搭建自己的DNS服務(wù)器來實現(xiàn)服務(wù)通過主機名來進行通信,此項目我們通過修改/etc/hosts文件來實現(xiàn)

    Puppet的搭建和應(yīng)用從入門到精通

                  修改HOSTNAME=master.zjz.cn

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通   

                  添加一下幾行:

    Puppet的搭建和應(yīng)用從入門到精通

                  還有一種方式來修改主機名,不用重啟系統(tǒng)的方式

    Puppet的搭建和應(yīng)用從入門到精通

    2)      時間同步服務(wù)器

    由于facter使用SSL證書,依賴時間同步,所以需要搭建NTP服務(wù)器

    一、搭建NTP Server

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    打開ntp的配置文件添加下面兩行

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    其作用是當/etc/ntp.conf中定義的server都不可用時,將使用local時間作為NTP服務(wù)提供給NTP客戶端

    啟動NTP服務(wù),并設(shè)置為開機自啟

     Puppet的搭建和應(yīng)用從入門到精通

    二、Puppetmaster 作為NTP客戶端配置

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    三、安裝ruby

    一定按照一下先后順序安裝,先安裝compat-readline5,也可以一并安裝

    首先新建一個掛載系統(tǒng)盤的目錄(因為我們安裝的包,在系統(tǒng)盤中有,使用rpm直接安裝)

    Puppet的搭建和應(yīng)用從入門到精通

    掛載系統(tǒng)盤

    Puppet的搭建和應(yīng)用從入門到精通

    切換到掛載目錄的Packages目錄中

    Puppet的搭建和應(yīng)用從入門到精通

    開始安裝

    Puppet的搭建和應(yīng)用從入門到精通

          安裝完成后,查看版本

    Puppet的搭建和應(yīng)用從入門到精通

    四、Puppet、facter安裝

    Puppet的搭建和應(yīng)用從入門到精通

    通過facter工具分析檢測客戶端傳輸過來的信息

    安裝facter

    a)      解壓源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    新建一個存放安裝包的目錄,下載源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    b)      編譯安裝源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    安裝puppet:

    (一)  解壓源碼包

    先下載源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    (二)  編譯安裝

    Puppet的搭建和應(yīng)用從入門到精通

    (三)  復(fù)制配置文件

    Puppet的搭建和應(yīng)用從入門到精通

    (四)  修改文件屬性

    Puppet的搭建和應(yīng)用從入門到精通

    (五)  創(chuàng)建puppet主目錄

    Puppet的搭建和應(yīng)用從入門到精通

    注意:這兩個目錄的名稱是固定的

    五、Puppet服務(wù)證書請求與簽名

    生產(chǎn)環(huán)境中iptables默認是關(guān)閉的

    Master端配置

    Puppet的搭建和應(yīng)用從入門到精通

    (一)  修改配置文件

    在【main】標題下添加以下一行:配置服務(wù)器模塊的路徑

    Puppet的搭建和應(yīng)用從入門到精通

    (二)  啟動puppet主程序

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    2、        搭建puppetclient

    首先配置puppetclient1,步驟如下:

    1)      規(guī)劃服務(wù)器主機名

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    添加一下幾行

    Puppet的搭建和應(yīng)用從入門到精通

    確保可以通過域名ping同puppetmaster,即ping master.zjz.cn

    Puppet的搭建和應(yīng)用從入門到精通

    2)      服務(wù)器時間同步

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    3)      安裝ruby

    一定按照一下順序安裝,先安裝compat-readline5,也可以一起安裝

     Puppet的搭建和應(yīng)用從入門到精通

    安裝同master安裝步驟

    安裝完成后檢查版本

    Puppet的搭建和應(yīng)用從入門到精通

    4)      Puppet、facter安裝

    Puppet的搭建和應(yīng)用從入門到精通

    通過facter工具分析檢測客戶端傳輸過來的信息

    安裝facter:

    一、解壓源碼包

    Puppet的搭建和應(yīng)用從入門到精通

     Puppet的搭建和應(yīng)用從入門到精通

    二、編譯安裝源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    安裝puppet:

    一、解壓源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    二、編譯安裝源碼包

    Puppet的搭建和應(yīng)用從入門到精通

    三、復(fù)制配置文件

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    四、修改文件屬性

    Puppet的搭建和應(yīng)用從入門到精通

    五、Puppet服務(wù)證書請求與簽名

    生產(chǎn)環(huán)境中iptebles默認是全部關(guān)閉的

    Puppet的搭建和應(yīng)用從入門到精通

    Puppetclient1和puppetclient2一樣,如下操作

    修改client配置文件

    Puppet的搭建和應(yīng)用從入門到精通

    在【main】標題下加上一行,設(shè)置服務(wù)器的域名

    Puppet的搭建和應(yīng)用從入門到精通

    Puppetclient2和puppetclient1配置過程類似,注意將主機名修改為client2

    申請和注冊

    Client端:

    分別在puppetclient1和puppetclient2上進行注冊

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    此時可以按Ctrl+C結(jié)束,因為puppet一直在等待任務(wù),但是已經(jīng)從server查看到了申請信息

    Master端

    查看申請注冊的客戶端:

    Puppet的搭建和應(yīng)用從入門到精通

    將未注冊的客戶端進行注冊

    Puppet的搭建和應(yīng)用從入門到精通

    可以通過目錄查看已注冊的客戶端

    Puppet的搭建和應(yīng)用從入門到精通

    此時客戶端已經(jīng)完成了證書的請求和簽名

    3、        配置實例

    1.      配置一個測試節(jié)點

    節(jié)點信息:/etc/puppet/manifests/nodes

    模塊信息:/etc/puppet/modules

    為了保護Linux的ssh端口爆破,批量修改客戶端sshd端口,將端口22修改為9922,并實現(xiàn)重啟工作

    創(chuàng)建ssh模塊,模塊目錄為ssh,模塊下面有三個文件:mainfests、templates和files

    Mainfests里面必須要包含一個init.pp文件,這是該模塊的初始文件,導(dǎo)入一個模塊的時候,會從init.pp開始執(zhí)行??梢园阉缘拇a寫到init.pp文件里面,也可以分成多個pp文件,init再去包含其他文件,定義class類名的時候必須是ssh,這樣能實現(xiàn)調(diào)用

    Files目錄是該模塊的文件發(fā)布目錄,puppet提供一個文件的分發(fā)機制,類似rsync的模塊

    Templates目錄包含erb模型文件,這個和file資源的template屬性有關(guān)(很少用)

    Master端:

    1)      創(chuàng)建需要的必要的目錄

    Puppet的搭建和應(yīng)用從入門到精通

    此時/etc/puppet/modules/ssh/目錄下結(jié)構(gòu):

    Puppet的搭建和應(yīng)用從入門到精通

    2)      創(chuàng)建模塊配置文件install.pp

    Puppet的搭建和應(yīng)用從入門到精通

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    3)      創(chuàng)建模塊配置文件config.pp

    Puppet的搭建和應(yīng)用從入門到精通

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    4)      創(chuàng)建模塊配置文件service.pp

    Puppet的搭建和應(yīng)用從入門到精通

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    5)      創(chuàng)建模塊主配置文件init.pp

    Puppet的搭建和應(yīng)用從入門到精通

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    此時/etc/puppet/modules/ssh/manifests目錄下有四個文件:

    Puppet的搭建和應(yīng)用從入門到精通

    6)      建立服務(wù)器端ssh統(tǒng)一維護文件

    由于服務(wù)器端和客戶端的sshd_config文件默認一樣,此時將服務(wù)器端/etc/ssh/sshd_config復(fù)制到模塊默認路徑

    Puppet的搭建和應(yīng)用從入門到精通

    7)      創(chuàng)建測試節(jié)點配置文件,并將ssh加載進去

    Puppet的搭建和應(yīng)用從入門到精通 

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    8)      將測試節(jié)點載入puppet,即修改site.pp

    Puppet的搭建和應(yīng)用從入門到精通

    輸入一下信息:

    Puppet的搭建和應(yīng)用從入門到精通

    9)      修改服務(wù)端維護的sshd_config配置文件

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    10)  重新啟動puppet

    Puppet的搭建和應(yīng)用從入門到精通

    2.      客戶端主動拉取

    一般在小規(guī)模自動化集群中,如代碼上線需要重啟服務(wù)時,為了防止網(wǎng)站暫時性的無法訪問的問題,每臺客戶端運行一次puppet agent –t命令,選擇模式根據(jù)客戶端集群規(guī)模的大小,根據(jù)經(jīng)驗,一般運維工程師puppet服務(wù)器到各客戶端會建立ssh信任,然后自定義shell腳本,ssh批量讓客戶端執(zhí)行puppet同步命令

    Client端:

    192.168.31.184(puppetclient1)端執(zhí)行命令如下:

    Puppet的搭建和應(yīng)用從入門到精通

    此時在Client端已經(jīng)執(zhí)行成功,驗證如下:

    Puppet的搭建和應(yīng)用從入門到精通

    查看服務(wù)器ssh服務(wù)是否重啟,端口是否生效:

    Puppet的搭建和應(yīng)用從入門到精通

    3.      服務(wù)器推送同步

    當大規(guī)模部署時采用服務(wù)器推送模式

    Client端:

    192.168.31.79(puppetclient2)端修改:

    1)      修改配置文件:

    Puppet的搭建和應(yīng)用從入門到精通

    最后一行添加如下:

    Puppet的搭建和應(yīng)用從入門到精通

    修改auth.conf

    Puppet的搭建和應(yīng)用從入門到精通

    最后一行添加如下:

    Puppet的搭建和應(yīng)用從入門到精通

    2)      啟動puppet客戶端

    Puppet的搭建和應(yīng)用從入門到精通

    查看/etc/ssh/sshd_config的內(nèi)容如下:

    Puppet的搭建和應(yīng)用從入門到精通

    確認啟動ssh服務(wù):

    Puppet的搭建和應(yīng)用從入門到精通

    Master端:

    3)      開始往客戶端推送

    Puppet的搭建和應(yīng)用從入門到精通

    4)      校驗結(jié)果:

    此時Client端已經(jīng)執(zhí)行成功,驗證如下:

    Puppet的搭建和應(yīng)用從入門到精通

    Puppet的搭建和應(yīng)用從入門到精通

    查看服務(wù)器ssh服務(wù)是否重啟,端口是否生效:

    Puppet的搭建和應(yīng)用從入門到精通

    5、 注意說明

    如果分不清在那一臺主機上做的操作,我們可以根據(jù)主機名來進行判斷,其中puppetclient2上一開始安裝的操作因為和puppetclient1上類似就是修改主機名不一樣,所以安裝步驟省略掉了,不會影響整體的操作,本文中也介紹了一寫原理的問題,希望對大家有幫助。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號