国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

爛泥:puppet3.7安裝與配置

2024-06-28 13:22:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
爛泥:puppet3.7安裝與配置

本文由秀依林楓提供友情贊助,首發(fā)于爛泥行天下

有關(guān)服務(wù)器的自動(dòng)化管理,這方面以前沒(méi)有接觸過(guò)。打算這段時(shí)間把這塊知識(shí)給補(bǔ)上。

現(xiàn)在服務(wù)器自動(dòng)化管理軟件,使用最多也最火的就是puppet了。

那么我們今天的主角也就是puppet。分以下幾個(gè)步驟來(lái)介紹:

1、 puppet是什么

2、 puppet優(yōu)點(diǎn)

3、 安裝準(zhǔn)備工作

4、 環(huán)境準(zhǔn)備

5、 源碼安裝puppet

6、 RPM安裝puppet

7、 puppet證書(shū)授權(quán)

8、 puppet資源

一、puppet是什么

puppet是一種基于ruby語(yǔ)言開(kāi)發(fā)的Lnux、Unix、windows平臺(tái)的集中配置管理系統(tǒng)。它使用自有的puppet描述語(yǔ)言,可管理配置文件file、用戶(hù)user、cron任務(wù)、軟件包、系統(tǒng)服務(wù)等系統(tǒng)實(shí)體。

puppet把這些系統(tǒng)實(shí)體稱(chēng)之為資源,puppet設(shè)計(jì)目標(biāo)是簡(jiǎn)化對(duì)這些資源的管理以及妥善處理資源間的依賴(lài)關(guān)系。

puppet依賴(lài)于C/S(客戶(hù)端/服務(wù)器)的部署架構(gòu)。它需要在puppet服務(wù)器上安裝puppet-server軟件包(以下簡(jiǎn)稱(chēng)master),在需要管理的目標(biāo)主機(jī)上安裝puppet客戶(hù)端軟件(以下簡(jiǎn)稱(chēng)agent)。

當(dāng)agent連接上master后,定義在master端的配置文件會(huì)被編譯,然后在agent上運(yùn)行。每個(gè)agent默認(rèn)30分鐘會(huì)連接一次master,確認(rèn)配置信息的更新情況。但是這種方式在很多場(chǎng)景下不是很符合系統(tǒng)管理員的要求,所以很多系統(tǒng)管理員也會(huì)將agent通過(guò)crontab(任務(wù)計(jì)劃)來(lái)管理,這樣會(huì)更加靈活一些。

二、puppet優(yōu)點(diǎn)

puppet的語(yǔ)法允許你創(chuàng)建一個(gè)單獨(dú)的腳本,用來(lái)在你所有的目標(biāo)主機(jī)上建立一個(gè)用戶(hù)。所有的目標(biāo)主機(jī)會(huì)依次使用適合本地系統(tǒng)的語(yǔ)法來(lái)解釋和執(zhí)行這個(gè)模塊。如果這個(gè)配置是在Red Hat服務(wù)器上執(zhí)行的話(huà),建立用戶(hù)使用useradd命令,如果這個(gè)配置是在FreddBSD服務(wù)器上執(zhí)行的話(huà),則使用adduser命令。

puppet另外一個(gè)卓越的地方就是它的靈活性。源于開(kāi)源軟件的天性,你可以自由地獲得puppet的源代碼。如果你遇到問(wèn)題并且有能力處理的話(huà),你可以修改或加強(qiáng)puppet的代碼使其適用于你的環(huán)境,然后解決這個(gè)問(wèn)題。

puppet也是易于擴(kuò)展的。定制軟件包的支持功能和特殊的系統(tǒng)環(huán)境配置能夠快速簡(jiǎn)單地添加至puppet的安裝程序中。

三、安裝準(zhǔn)備工作

本次實(shí)驗(yàn)OS為centos 6.5 64bit,服務(wù)端為:192.168.199.247,客戶(hù)端為192.168.199.248。

在正式實(shí)驗(yàn)之前,我們有幾個(gè)事情需要先進(jìn)行處理。

3.1 主機(jī)時(shí)間同步

為了減少在實(shí)驗(yàn)過(guò)程中不必要的麻煩,我們需要對(duì)所有主機(jī)(包括服務(wù)器和客戶(hù)端)進(jìn)行時(shí)間同步。即服務(wù)器與客戶(hù)端的時(shí)間相差不能超過(guò)秒級(jí)。

使用以下命令進(jìn)行時(shí)間同步,如下:

ntpdate timekeeper.isi.edu

clip_image001

如果在進(jìn)行時(shí)間同步時(shí),出現(xiàn)如下錯(cuò)誤:

21 Jan 17:20:45 ntpdate[2720]: the NTP socket is in use, exiting

clip_image002

請(qǐng)關(guān)閉主機(jī)的ntpd服務(wù),然后再進(jìn)行時(shí)間同步。

/etc/init.d/ntpd stop

clip_image003

3.2 修改主機(jī)名

因?yàn)榘惭b puppet 時(shí)會(huì)把主機(jī)名寫(xiě)入證書(shū),同時(shí)客戶(hù)端和服務(wù)端之間通信需要這個(gè)證書(shū)。所以需要修改服務(wù)器與客戶(hù)端的主機(jī)名。

修改主機(jī)名。如下:

hostname s.ilanni.com

執(zhí)行此命令,可以使主機(jī)的主機(jī)名立即生效。但是服務(wù)器重啟后,此修改就會(huì)失效。

clip_image004

要是主機(jī)名永久生效的話(huà),需要修改/etc/sysconfig/network文件。如下:

cat /etc/sysconfig/network

clip_image005

本次實(shí)驗(yàn),我們就不搭建DNS服務(wù)器,直接通過(guò)修改服務(wù)端與客戶(hù)端的hosts文件來(lái)達(dá)到各自解析域名的目的。如下:

cat /etc/hosts

192.168.199.247 s.ilanni.com

192.168.199.248 c.ilanni.com

clip_image006

3.3 關(guān)閉iptables和selinux

我們現(xiàn)在所有的實(shí)驗(yàn)都是在關(guān)閉iptables和selinux下進(jìn)行的。

/etc/init.d/iptables status

cat /etc/selinux/config

clip_image007

四、環(huán)境準(zhǔn)備

puppet的安裝可以分為源碼安裝和RPM安裝,但是無(wú)論哪一種安裝方法,我們都需要在安裝之前對(duì)其進(jìn)行幾點(diǎn)需要說(shuō)明。

4.1 puppet安裝說(shuō)明

1、由于puppet是采用ruby語(yǔ)言開(kāi)發(fā),所以無(wú)論是源碼還是RPM方式安裝puppet,我們都必須要先安裝ruby語(yǔ)言環(huán)境

2、puppet從2.7版本以后,就需要hiera的支持。所以也必須安裝hiera。

3、在前面章節(jié)中,我們說(shuō)明了puppet是一個(gè)配置管理系統(tǒng),而管理的資源,都是系統(tǒng)的實(shí)體。但是這些實(shí)體,是如何來(lái)的呢?這就需要我們安裝另外一個(gè)資源收集軟件—facter。

facter主要用來(lái)收集主機(jī)的一些信息,比如:CPU、主機(jī)IP等。facter把這些收集的信息發(fā)送給puppet服務(wù)器端,服務(wù)器端就可以根據(jù)不同的條件來(lái)對(duì)不同的節(jié)點(diǎn)機(jī)器生成不同的puppet配置文件。

facter也是ruby語(yǔ)言開(kāi)發(fā)的,這個(gè)我們可以在facter的安裝文檔中可以查看到,如下:

cat README.md

clip_image008

4.2 安裝ruby

ruby的安裝比較簡(jiǎn)單,我們?cè)诖耸褂檬莥um進(jìn)行安裝。如下:

yum -y install ruby

clip_image009

ruby安裝完畢后,我們來(lái)查看其生成的文件。如下:

rpm -ql ruby

clip_image010

我們可以查看ruby的幫助信息,如下:

ruby -h

clip_image011

除此之外,我們還要安裝ruby-rdoc這個(gè)軟件包。該軟件包主要用于查看ruby的幫助文檔。如下:

yum -y install ruby-rdoc

clip_image012

以上就是和ruby有關(guān)的軟件包,安裝完畢后,我們開(kāi)始來(lái)安裝facter。

4.3 安裝facter

facter我們可以從puppet官網(wǎng)下載,如下:

http://downloads.puppetlabs.com/facter/

clip_image013

注意:facter也可以通過(guò)yum進(jìn)行安裝,在此我們使用的是源碼安裝。

下載facter最新的版本,如下:

wget http://downloads.puppetlabs.com/facter/facter-2.3.0.tar.gz

clip_image014

解壓facter軟件包,如下:

tar -xf facter-2.3.0.tar.gz

clip_image015

開(kāi)始安裝facter,如下:

ruby install.rb或者./install.rb

clip_image016

clip_image017

facter安裝完畢后,我們來(lái)查看下facter的使用幫助。如下:

facter -h

clip_image018

如果想查看facter詳細(xì)幫助信息,我們也可以man下facter。如下:

man facter

clip_image019

如果安裝沒(méi)有問(wèn)題的話(huà),我們?cè)趫?zhí)行facter命令后,會(huì)顯示facter收集的相關(guān)信息。如下:

facter

clip_image020

4.4 安裝hiera

hiera主要用于控制一些agent經(jīng)常變化的數(shù)值,在puppet2.7以后的版本必須要安裝。如果不安裝的話(huà),我們?cè)诎惭bpuppet時(shí),系統(tǒng)會(huì)提示如下錯(cuò)誤:

Could not load hiera; cannot install

clip_image021

但是在安裝hiera之前,我們必須安裝額外的yum源,否則系統(tǒng)會(huì)提示找不到該軟件包。

該yum源,我們可以puppet官網(wǎng)查看到。如下:

https://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-red-hat-enterPRise-linux-and-derivatives

clip_image022

按照puppet官網(wǎng)的方法進(jìn)行安裝。如下:

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

clip_image023

yum源配置完畢后,我們現(xiàn)在來(lái)安裝hiera。如下:

yum -y install hiera

clip_image024

以上安裝完畢后,我們就可以正式安裝puppet。

五、 源碼安裝puppet

puppet服務(wù)端與客戶(hù)端的源碼安裝使用的是同一個(gè)軟件包,安裝步驟一樣,只是在配置文件方面有細(xì)微的差別。

在下載puppet源碼之前,我們還要在master端和agent端創(chuàng)建puppet運(yùn)行時(shí)使用的用戶(hù)puppet。master端如果不創(chuàng)建的話(huà),master在啟動(dòng)時(shí),會(huì)報(bào)如下錯(cuò)誤:

clip_image025

創(chuàng)建puppet用戶(hù),如下:

useradd -M -s /sbin/nologin puppet

cat /etc/passwd |grep puppet

clip_image026

注意:puppet服務(wù)端是以puppet用戶(hù)運(yùn)行的,而puppet客戶(hù)端是root用戶(hù)運(yùn)行。

這樣做的目的是:master在服務(wù)端以普通用戶(hù)運(yùn)行安全性比較高,而agent在客戶(hù)端以root用戶(hù)運(yùn)行,是因?yàn)閙aster在創(chuàng)建用戶(hù)、修改系統(tǒng)文件等資源時(shí),需要具有最高權(quán)限。

5.1 puppet源碼安裝

puppet的源碼包,我們可以從puppet官網(wǎng)下載。目前puppet最新版為3.7.3.如下:

http://downloads.puppetlabs.com/puppet/

clip_image027

下載puppet軟件包。如下:

wget http://downloads.puppetlabs.com/puppet/puppet-3.7.3.tar.gz

clip_image028

解壓puppet軟件包,如下:

tar -xf puppet-3.7.3.tar.gz

clip_image029

puppet的安裝方法與facter的安裝一樣,如下:

ruby install.rb或者./install.rb

clip_image030

puppet安裝完畢后,我們來(lái)查看下其幫助信息,如下:

puppet help

clip_image031

查看puppet的安裝位置如下:

ll /etc/puppet/

clip_image032

以上就是puppet的安裝,安裝完畢后。我們現(xiàn)在來(lái)配置puppet。

5.2 master端配置

puppet安裝完畢后,我們來(lái)配置下master端。把puppet源碼包ext/redhat/目錄下的puppet.conf文件復(fù)制到puppet的安裝目錄/etc/puppet/下,如下:

cp ext/redhat/puppet.conf /etc/puppet/

vi /etc/puppet/puppet.conf

server = s.ilanni.com

certname = s.ilanni.com

pluginsync = false

其中s.ilanni.com表示puppet服務(wù)器的主機(jī)名。

pluginsync = false表示關(guān)閉模塊中的插件功能

clip_image033

clip_image034

配置文件修改完畢后,我們現(xiàn)在來(lái)配置master端的啟動(dòng)腳本。

復(fù)制puppet源碼包ext/redhat/目錄下的server.init文件到/etc/init.d/下,并重命名為puppetmaster。然后賦予puppetmaster可執(zhí)行權(quán)限。如下:

cp ext/redhat/server.init /etc/init.d/puppetmaster

chmod u+x /etc/init.d/puppetmaster

clip_image035

注意:master端啟動(dòng),我們也可以通過(guò)puppet master命令來(lái)啟動(dòng)。如下:

puppet master

netstat -tunlp |grep "8140"

ps aux |grep puppet

clip_image036

其實(shí)puppetmaster啟動(dòng)腳本就是使用puppet master命令啟動(dòng)的,如下:

cat /etc/init.d/puppetmaster

clip_image037

把puppetmaster加入到開(kāi)機(jī)啟動(dòng)項(xiàng)。如下:

chkconfig --add puppetmaster

chkconfig puppetmaster on

chkconfig |grep puppetmaster

clip_image038

以上都配置完畢后,我們來(lái)啟動(dòng)puppet服務(wù),如下:

/etc/init.d/puppetmaster start

ps aux |grep puppet

netstat -tunlp

clip_image039

通過(guò)上圖,我們可以很puppet服務(wù)使用TCP協(xié)議的8140端口,而且運(yùn)行時(shí)使用puppet用戶(hù)。

puppet服務(wù)端配置完畢后,我們現(xiàn)在來(lái)配置puppet客戶(hù)端。

5.3 agent端配置

agent端的配置,只需要把puppet.conf文件復(fù)制到puppet的安裝目錄/etc/puppet/下即可,如下:。

cp ext/redhat/puppet.conf /etc/puppet/

cat /etc/puppet/puppet.conf

server = s.ilanni.com

pluginsync = false

其中s.ilanni.com表示puppet服務(wù)器的主機(jī)名。

pluginsync = false表示關(guān)閉模塊中的插件功能

clip_image040

agent端啟動(dòng),我們可以通過(guò)puppet agent命令來(lái)啟動(dòng)。如下:

puppet agent

ps aux |grep puppet

clip_image041

通過(guò)上圖,我們也可以看出agent端運(yùn)行時(shí)使用的用戶(hù)為root,而不是puppet用戶(hù)。

注意:agent端我們使用puppet agent命令來(lái)進(jìn)行各種管理,包括證書(shū)的申請(qǐng)、資源的同步,我們都是通過(guò)這個(gè)命令進(jìn)行的。

agent可以以?xún)煞N方式運(yùn)行:第一種方式是命令接參數(shù)連接master,第二種是以守護(hù)進(jìn)程的形式在系統(tǒng)后臺(tái)運(yùn)行,默認(rèn)每30分鐘連接一次master,但是這樣并不靈活。我們一般是使用第一種方式,并配合crontab使用。

六、 RPM安裝puppet

RPM方式安裝puppet比較簡(jiǎn)單,我們只需yum安裝即可。如下:

6.1 puppet安裝準(zhǔn)備工作

在使用RPM安裝之前,我們要先配置額外的yum源,否則系統(tǒng)會(huì)提示找不到puppet軟件包。如下:

yum -y install puppet-server

clip_image042

安裝額外的yum源,我們可以在puppet的官網(wǎng)查找到y(tǒng)um源。如下:

https://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html#for-red-hat-enterprise-linux-and-derivatives

clip_image022[1]

按照puppet官網(wǎng)的方法進(jìn)行安裝。如下:

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

clip_image023[1]

注意:該yum源無(wú)論是master端和agent端都需要進(jìn)行配置。

6.2 master端安裝與配置

現(xiàn)在開(kāi)始yum安裝master端,如下:

yum -y install puppet-server

clip_image043

clip_image044

通過(guò)上圖,我們可以看到安裝puppet-server是要依賴(lài)于facter、hiera和puppet三個(gè)軟件包。

現(xiàn)在我們來(lái)查看puppet-server安裝時(shí)新建的用戶(hù)以及puppet服務(wù)運(yùn)行時(shí)所用的用戶(hù),如下:

cat /etc/passwd

ps aux |grep puppet

clip_image045

clip_image046

通過(guò)上圖,我們可以看到puppet-server在安裝時(shí)確實(shí)新建用戶(hù)puppet,以及在運(yùn)行時(shí)使用的確實(shí)puppet用戶(hù)。

查看puppet服務(wù)所使用的端口,如下:

/etc/init.d/puppetmaster start

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁远县| 湄潭县| 思茅市| 修武县| 成武县| 准格尔旗| 开封市| 玛多县| 甘德县| 张家口市| 科技| 阜平县| 东辽县| 浦城县| 丰县| 彰武县| 外汇| 博白县| 常熟市| 若尔盖县| 宝丰县| 深州市| 夏邑县| 浮山县| 垫江县| 鹿泉市| 定远县| 沅陵县| 邛崃市| 田林县| 乌兰县| 加查县| 中宁县| 屯门区| 子长县| 湟源县| 罗定市| 乌拉特后旗| 枣阳市| 东乡| 同江市|