偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何將Puppet服務器及客戶端安裝到CentOS和RHEL上?

譯文
系統(tǒng) Linux
由于系統(tǒng)管理員需要管理的系統(tǒng)越來越多,日常任務自動化顯得相當重要。于是,許多管理員采用了編寫自定義腳本這種方法,這些腳本其實模擬復雜的調(diào)配軟件??蛇z憾的是,腳本會變得過時,開發(fā)腳本的人可能離開了公司,要是沒有投入大量的精力來維護,一段時間后這些腳本最終就會無法使用……

由于系統(tǒng)管理員需要管理的系統(tǒng)越來越多,日常任務自動化顯得相當重要。于是,許多管理員采用了編寫自定義腳本這種方法,這些腳本其實模擬復雜的調(diào)配軟件。可遺憾的是,腳本會變得過時,開發(fā)腳本的人可能離開了公司,要是沒有投入大量的精力來維護,一段時間后這些腳本最終就會無法使用。一種更可取的方法無疑是共享一種人人都能使用的系統(tǒng),開發(fā)不管某人的雇主是誰,都可以使用的工具。這方面有幾個系統(tǒng)可供我們使用,本文介紹如何使用其中一個系統(tǒng):Puppet。

何謂Puppet?

Puppet是一款面向IT系統(tǒng)管理員和咨詢?nèi)耸康淖詣踊浖?。它讓用戶可以自動處理重復性任務,比如安裝應用程序和服務、補丁管理及部署。所有資源的配置都存儲在一個所謂的清單文件(manifest)里面,可以適用于多臺機器,或適用于僅僅一臺服務器。如果你想知道更多信息,The Puppet Labs網(wǎng)站更全面地描述了Puppet的性質(zhì)及其工作方式:https://puppetlabs.com/puppet/what-is-puppet/。

我們準備在本教程中實現(xiàn)什么任務?

我們將安裝和配置一臺Puppet服務器,并為我們的客戶端服務器完成一些基本的配置。我們會介紹如何編寫及管理Puppet清單文件以及如何將它發(fā)送到你的服務器上。

前提條件

由于Puppet不在基本的CentOSRHEL發(fā)行版軟件庫中,我們只好添加由Puppet Labs提供的自定義軟件庫。在你想要使用Puppet的所有服務器上,安裝該軟件庫,為此執(zhí)行下面這個命令(RPM文件名隨新版本而變化):

CentOS/RHEL 6.5上:

  1. # rpm -ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-10.noarch.rpm  

CentOS/RHEL 7上:

  1. # rpm -ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm  

服務器的安裝

將軟件包“puppet-server”安裝到你想用作主服務器的服務器上。

  1. # yum install puppet-server  

安裝完畢后,設置Puppet服務器,以便在系統(tǒng)啟動時自動開啟、并打開它。

  1. # chkconfig puppetmaster on  
  2. # service puppetmaster start  

現(xiàn)在我們讓服務器運行起來后,就要確保它能夠從我們的網(wǎng)絡加以訪問。

iptables用作防火墻的CentOS/RHEL 6上,將下面這一行添加到/etc/sysconfig/iptables的“:OUTPUT ACCEPT”這部分。

  1. 1 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT  

為了讓這個變更生效,有必要重啟iptables

  1. # service iptables restart  

在使用firewalldCentOS/RHEL 7上,可以用下列命令實現(xiàn)同一操作:

  1. # firewall-cmd --permanent --zone=public --add-port=8140/tcp  
  2. # firewall-cmd --reload  

客戶端的安裝

Puppet客戶端軟件包安裝到客戶端節(jié)點上,為此執(zhí)行下面這個命令:

  1. # yum install puppet  

安裝完畢后,確保Puppet在系統(tǒng)啟動后開啟。

  1. # chkconfig puppet on  

你的Puppet客戶端節(jié)點必須知道Puppet主服務器位于何處。為此,最佳辦法就是使用DNS服務器,你可以在該服務器上配置Puppet域名。要是你沒有一臺正常運行的DNS服務器,可以使用/etc/hosts文件,為此只要添加下面這一行:

  1. 1.2.3.4 server.your.domain  
  2. 2.3.4.5 client-node.your.domain 

1.2.3.4對應于Puppet主服務器的IP地址,“server.your.domain”是主服務器的域名(默認值通常是服務器的主機名稱),“client-node.your.domain”則是客戶端節(jié)點。應該在所有相關(guān)的服務器(Puppet主服務器和客戶端服務器)上都要相應配置該主機文件。

完成這些設置后,我們就要向Puppet客戶端表明誰是主服務器。默認情況下,Puppet尋找一臺名為“puppet”的服務器,但該設置通常不適合你的網(wǎng)絡配置,因此我們將它換成Puppet主服務器的完全符合標準的域名(FQDN)。打開文件/etc/sysconfig/puppet,把“PUPPET_SERVER”值換成/etc/hosts中指定的Puppet主服務器域名:

  1. PUPPET_SERVER=server.your.domain 

主服務器名稱也必須在/etc/puppet/puppet.conf的“[agent]”部分中加以定義:

  1. serverserver=server.your.domain 

現(xiàn)在,你可以啟動Puppet客戶端了:

  1. # service puppet start  

我們需要使用下面這個命令,迫使客戶端聯(lián)系上Puppet主服務器:

  1. # puppet agent --test  

你應該會看到類似下列輸出內(nèi)容的結(jié)果。別慌張,這很正常,因為該服務器仍沒有在Puppet主服務器上得到驗證。

  1. Exiting; no certificate found and waitforcert is disabled 

回到你的puppet主服務器,核實證書驗證請求:

  1. # puppet cert list  

你應該會看到一份列表,列出了從puppet主服務器請求證書簽名的所有服務器。找到客戶 服務器的主機名稱,使用下面這個命令來簽名(client-node是客戶端節(jié)點的域名):

  1. # puppet cert sign client-node  

至此,你已有了一臺正常工作的Puppet客戶端和服務器。祝賀你!不過,眼下Puppet主服務器無法指令客戶端進行什么操作。所以,不妨創(chuàng)建某個基本的清單文件,并設置客戶端節(jié)點來安裝基本的實用工具。

連接回到Puppet服務器,確保目錄/etc/puppet/manifests已存在。

  1. # mkdir -p /etc/puppet/manifests  

現(xiàn)在,創(chuàng)建具有下列內(nèi)容的清單文件/etc/puppet/manifests/site.pp

  1.  node 'client-node' {  
  2.  
  3.    include custom_utils  
  4.  }  
  5.  class custom_utils {  
  6.  
  7.     package { ["nmap","telnet","vim-enhanced","traceroute"]:   
  8.            ensure => latest,  
  9.            allow_virtual => false,  
  10.     }   
  11. }  

然后重啟puppetmaster服務。

  1. # service puppetmaster restart  

客戶端配置的默認刷新間隔時間是30分鐘;如果你想手動強行讓變更生效,就要在客戶端節(jié)點上執(zhí)行下面這個命令:

  1. # puppet agent -t  

如果你想更改默認的客戶端刷新間隔時間,將下面這一行:

  1. runinterval = <yourtime> 

添加到客戶端節(jié)點上的/etc/puppet/puppet.conf的“[agent]”部分。該設置是個時間間隔,單位可能是秒鐘(3030s)、分鐘(30m)、小時(6h)、天(2d)或年(5y)。注意:運行間隔為0意味著“連續(xù)運行”,而不是“從不運行”。

技巧和方法

1. 調(diào)試

有時候可能出現(xiàn)這種情況:你要提交錯誤的配置,不得不調(diào)試Puppet在哪里出現(xiàn)了故障。為此,你總是可以從檢查/var/log/puppet/中的日志,或者手動運行代理軟件、查看輸出結(jié)果開始入手:

  1. # puppet agent -t  

默認情況下,“-t”激活詳細模式,所以它讓你可以查看Puppet的輸出結(jié)果。該命令還有幾個參數(shù),可以幫助更細致一點地識別問題。第一個實用的選項是:

  1. # puppet agent -t --debug  

debug表明Puppet在運行期間經(jīng)歷的所有步驟。它在調(diào)試非常復雜的規(guī)則的過程中大有用處。可能很有用的另一個參數(shù)是:

  1. # puppet agent -t --noop  

該選項將puppet設置在所謂的空運行(dry-run)模式,并不執(zhí)行任何變更。Puppet只是在屏幕上輸出所要呈現(xiàn)的內(nèi)容,并不將任何內(nèi)容寫入到磁盤上。

2. 模塊

一段時間后,你會發(fā)現(xiàn)處于這種情形:你想要有更復雜的清單文件。但在你坐下來開始編寫清單文件之前,應該花點時間,瀏覽https://forge.puppetlabs.com。Forge是個龐大的軟件庫,里面含有諸多Puppet社區(qū)模塊;你很有可能在這里找到問題的解決方法。要是沒找到,就編寫自己的模塊,然后提交,那樣別人就能得益于Puppet模塊文化。

現(xiàn)在,假設你已經(jīng)找到了可以解決你問題的一個模塊。那么,如何把它安裝到系統(tǒng)上?安裝其實相當容易,因為Puppet已經(jīng)含有直接下載模塊的接口。只要鍵入下面這個命令:

  1. # puppet module install <module_name> --version 0.0.0  

<module_name>是你所選擇模塊的名稱,version是可選的(要是沒有指定,那么下載最新版本。)如果你不記得想要安裝的那個模塊的名稱,可以試著使用module search(模塊搜索)來找到它:

  1. # puppet module search <search_string>  

因而,你會獲得一份列表,列出了含有搜索字符串的所有模塊。

  1. # puppet module search apache 

  1. Notice: Searching https://forgeapi.puppetlabs.com ...  
  2.  
  3. NAME           DESCRIPTION            AUTHOR          KEYWORDS                                          
  4.  
  5. example42-apache    Puppet module for apache      @example42        example42, apache                                 
  6.  
  7. puppetlabs-apache    Puppet module for Apache      @puppetlabs        apache web httpd centos rhel ssl wsgi proxy       
  8.  
  9. theforeman-apache   Apache HTTP server configuration @theforeman       foreman apache httpd DEPRECATED             

如果你想看看已經(jīng)安裝了哪些模塊,只要鍵入下面這個命令:

  1. # puppet module list 

結(jié)束語

至此,你應該有了一個完全實用的Puppet主服務器,可以為一個或多個客戶端服務器提供基本的配置?,F(xiàn)在可以隨意為你的配置添加更多的設置,讓它適應你的基礎設施。用不著為搗鼓Puppet而擔心,你會發(fā)現(xiàn)它確實大有幫助。

Puppet實驗室在努力為其項目維護最高質(zhì)量的說明文檔,所以如果你想進一步了解Puppet及其配置,本人強烈建議訪問Puppet項目的網(wǎng)頁:http://docs.puppetlabs.com。

要是你有任何問題,歡迎在下面留言,本人會盡量給予解答或給出建議。

 

責任編輯:牛小雨 來源: 51CTO
相關(guān)推薦

2019-04-08 09:00:00

CentOS 7ElasticsearLinux

2009-09-16 15:44:25

2019-05-05 10:42:22

LinuxNTP命令

2023-05-13 17:32:51

2014-06-01 11:03:13

VDI零客戶端

2016-10-24 09:40:53

CentOS高級入侵檢測

2019-10-14 15:00:12

Centos 8 RHEL 8VNC

2015-08-03 15:38:06

2018-12-19 10:31:32

客戶端IP服務器

2010-10-26 13:54:45

連接Oracle服務器

2014-01-17 15:23:55

Nagios

2023-05-05 16:20:15

2017-04-11 13:20:06

CentOSRHELFedora

2010-05-31 10:22:56

2009-09-17 18:06:44

Nis服務器

2025-06-19 02:30:00

Spring服務器MCP

2011-08-02 14:11:19

服務器打印機

2009-08-18 12:51:19

服務器+客戶端

2011-06-09 10:51:26

Qt 服務器 客戶端

2019-11-05 11:20:36

CentOS 8RHEL 8Linux
點贊
收藏

51CTO技術(shù)棧公眾號