成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開源自動化配置管理工具Puppet入門教程

運維 系統運維 自動化
Puppet是開源的基于Ruby的系統配置管理工具,依賴于C/S的部署架構。Puppet這樣的自動化配置管理工具可以幫助系統管理員更加方便的完成升級軟件包、管理配置文件、系統服務、cron任務、添加新的配置、修復錯誤等重復工作。

系統管理員經常陷入一系列的重復任務中:如升級軟件包、管理配置文件、系統服務、cron任務以及添加新的配置、修復錯誤等。這些任務通常是重復低效的,解決這類任務的第一反應是讓他們自動化,于是出現了定制腳本。由于環境復雜,定制腳本和應用程序一再被重復開發,并且很難適合多種平臺,靈活性和功能也很難保證,于是像Puppet這樣的自動化配置管理工具便出現了。

在開源世界里,有很多配置工具可供選擇,這個領域一些關鍵的產品有:

Puppet(http://puppet.reductivelabs.com/):

  • Ruby寫成的配置管理工具,使用C/S架構,使用declarative language配置客戶端。

Cfengine(http://www.cfengine.org):

  • 最先發布的開源配置工具之一,1993年發布,同樣是C/S架構,通常應用于教育機構。

LCFG(http://www.lcfg.org/):

  • C/S架構的配置管理工具,使用XML定義配置。

Bcfg2

  • Python編寫的C/S架構的配置管理工具,使用規格書和客戶機響應配置目標主機。

本文檔致力于描述使用Puppet管理你的主機、應用程序、后臺程序和各種服務。

Puppet簡介:

1. Puppet的用途

Puppet是開源的基于Ruby的系統配置管理工具,依賴于C/S的部署架構。主要開發者是Luke Kanies,遵循GPLv2版權協議。從1997年開始Kanies參與UNIX的系統管理工作,Puppet的開發源于這些經驗。因為對已有的配置工具不甚滿意,從2001年到2005年間,Kanies開始在Reductive實驗室從事工具的開發。很快,Reductive實驗室發布了他們的旗艦產品——Puppet。

2. Pupput的特性

許多系統配置管理工具工作的方式非常類似,如cfengine。是什么讓Puppet與眾不同?

Puppet的語法允許你創建一個單獨腳本,用來在你所有的目標主機上建立一個用戶。所有的目標主機會依次使用適用于本地系統的語法解釋和執行這個模塊。舉例:如果這個配置是在Red Hat服務器上執行,建立用戶使用useradd命令;如果這個配置是在FreeBSD主機上執行,使用的是adduser命令。

Puppet另一個卓越的地方是它的靈活性。源于開源軟件的天性,你可以自由的獲得Puppet的源碼,如果你遇到問題并且有能力的話,你可以修改或者加強Puppet的代碼去適用于你的環境。另外,社區開發者和捐獻者還在不斷增強Puppet的功能。一個大的開發者和用戶社區也致力于提供Puppet的文檔和技術支持。

Puppet也是易于擴展的。定制軟件包的支持功能和特殊的系統環境配置能夠快速簡單的添加進Puppet的安裝程序中。

3. Puppet的工作模式

Puppet是一個C/S架構的配置管理工具,在中央服務器上安裝puppet-server軟件包(被稱作Puppet master)。在需要管理的目標主機上安裝puppet客戶端軟件(被稱作Puppet Client)。當客戶端連接上Puppet master后,定義在Puppet master上的配置文件會被編譯,然后在客戶端上運行。每個客戶端默認每半個小時和服務器進行一次通信,確認配置信息的更新情況。如果有新的配置信息或者配置信息已經改變,配置將會被重新編譯并發布到各客戶端執行。也可以在服務器上主動觸發一個配置信息的更新,強制各客戶端進行配置。如果客戶端的配置信息被改變了,它可以從服務器獲得原始配置進行校正。

4. Puppet的未來

最后,Puppet是一個年輕的工具,仍然處于開發和發展中。Puppet社區快速壯大,并且許多新的想法不斷融入,促使開發、更新和模塊每天都在呈現。

#p#

安裝配置:

1. PuppetRedHat/CentOS系統上安裝

Puppet是基于Ruby寫成的,所以安裝前要準備好Ruby環境。在中心的Server上安裝puppet-server包,并運行puppetmasterd進程;在被管理機上安裝puppet包,并運行puppetd進程。另外,在每臺主機上配置好自己的hostname,之后每臺機器要以hostname區分。

1). 安裝ruby環境:

yum install ruby ruby-rdoc

2). 安裝puppet

Server端安裝:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
yum install puppet-server
chkconfig –level 2345 puppetmaster on

修改hosts,添加下面行:

Vi /etc/hosts
172.16.228.30   puppet.sina.com.cn puppet
172.16.228.29   web1.sina.com.cn web1

客戶端安裝:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
yum install puppet
chkconfig –level 2345 puppet on

修改hosts,添加下面行:

Vi /etc/hosts
172.16.228.30   puppet.sina.com.cn puppet
172.16.228.29   web1.sina.com.cn web1

3). 啟動puppet

Server端首次運行前,編輯/etc/puppet/manifests/site.pp文件,內容可以用最基本的:

# Create “/tmp/testfile” if it doesn’t exist.
class test_class {
file { “/tmp/testfile”:
ensure => present,
mode => 644,
owner => root,
group => root
}
}
# tell puppet on which client to run the class
node web1.sina.com.cn {
include test_class
}

啟動Server端:

service puppetmaster start

啟動客戶端:

/etc/init.d/puppet once -v

這時客戶機會去連server,但是由于連接是在ssl上的,而Server還沒有sign過客戶端的cert,客戶機被斷開。

到Server端執行:puppetca -list,會顯示等待簽名的客戶端的主機名,執行:puppetca -sign <客戶端主機名> 即可為其簽名。

在Server端為web1.sian.com.cn授權:

puppetca -list
web1.sian.com.cn
puppetca -sign web1.sian.com.cn

這時再到客戶機上啟動puppetd,即可看到客戶在正常地連接server,并且應用Server上為客戶端定制的配置策略。

啟動客戶端:

/etc/init.d/puppet once -v

4). 測試:

也可以將日志直接打印到終端上進行測試:

Server端:puppetmasterd -d –no-daemonize -v –trace

客戶端:puppetd –test –trace –debug

#p#

2. puppet配置文件

主配置文件(puppet.conf):

1). 配置文件命名空間:

main 通用配置選項

puppetd 客戶端配置選項

puppetmasterd 服務端配置選項

2). main命名空間選項:

confdir 配置文件目錄,默認在/etc/puppet

vardir 動態數據目錄,默認在/var/lib/puppet

logdir 日志目錄,默認在/var/log/log

rundir puppet PID目錄,默認在/var/run/puppet

statedir state目錄,默認在$vardir/state

statefile state文件,默認在$statedir/state.yaml

ssldir SSL證書目錄,默認在$vardir/ssl

trace 發生錯誤時顯示跟蹤信息,默認false

filetimeout 檢測配置文件狀態改變的時間周期,單位秒,默認15秒

syslogfacility 指定syslog功能為user級,默認為daemon級

3). puppetmasterd命名空間選項:

user 后臺進程執行的用戶

group 后臺進程執行的組

mainfestdir mainfests文件存儲目錄,默認為$confdir/mainfests

mainfest mainfest站點文件的名字,默認為site.pp

bindaddress 后臺進程綁定的網卡地址接口

masterport 后臺進程執行的端口,默認為8140

4). puppet命名空間選項:

server puppet puppet服務器名,默認為puppet

runinterval seconds puppet應用配置的時間間隔,默認1800秒(0.5小時)

puppetdlockfie file puppet lock文件位置,默認$statedir/puppetdlock

puppetport port 后臺進程執行的端口,默認8139

文件服務配置文件(fileserver.conf):

[files]
path /var/lib/puppet/files
allow 121.14.1.*
allow 60.28.228.0/24
allow *.house.sina.com.cn
deny *.sina.com.cn

path定義文件存放路徑,通過allow/deny來控制訪問權限。

3. puppet命令集

1). puppet 用于執行用戶所寫獨立的mainfests文件

# puppet -l /tmp/manifest.log manifest.pp

2). puppetd 運行在被管理主機上的客戶端程序

# puppetd –server puppet.leju.com

3). puppetmasterd 運行在管理機上的服務器程序

# puppetmasterd

4). puppetca puppet認證程序

# puppetca -l
pclient.leju.com
# puppetca -s pclient.leju.com

5). puppetrun 用于連接客戶端,強制運行本地配置文件

# puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver

6). filebucket 客戶端用于發送文件到puppet file bucket的工具

# filebucket -b /tmp/filebucket /my/file

7). ralsh 轉換配置信息到puppet配置代碼

# ralsh user luke
user { ‘luke’:
home => ‘/home/luke’,
uid => ‘100′,
ensure => ‘present’,
comment => ‘Luke Kanies,,,’,
gid => ‘1000′,
shell => ‘/bin/bash’,
groups => ['sysadmin','audio','video','puppet']
}

8). puppetdoc 打印puppet參考文檔

# puppetdoc -r type > /tmp/type_reference.rst
# puppetdoc –outputdir /tmp/rdoc –mode rdoc /path/to/manifests
# puppetdoc /etc/puppet/manifests/site.pp

【編輯推薦】

  1. 系統管理員最需要自動化的十大任務
  2. 使用cfengine來實現服務器的自動化配置
  3. Linux批量安裝 五大開源軟件挨個看
責任編輯:yangsai 來源: yoyotown.com
相關推薦

2021-11-10 09:00:00

工具Chef開發

2022-05-06 12:04:24

Ansible管理工具

2012-10-29 16:45:07

CentOS 6.2Puppet

2011-06-07 15:12:41

Puppet語法

2013-08-30 14:30:59

系統自動化自動化配置SaltStack

2022-09-08 09:00:38

Ansible開源

2017-02-17 09:00:00

Linux管理員工具

2009-07-20 18:16:11

軟件配置管理

2017-05-10 15:48:59

云平臺云計算工具

2011-10-09 13:49:51

2012-12-06 11:31:40

虛擬化

2012-04-09 09:43:49

云計算云管理

2019-04-17 07:59:09

Puppet自動化集群管理

2020-04-02 08:00:36

管理工具配置

2011-12-20 09:39:18

虛擬化紅帽oVirt

2009-04-24 21:13:45

服務器虛擬化Vmware

2023-03-07 14:21:57

2022-06-16 11:06:07

開源Grafanaon-call

2011-09-29 09:52:59

配置管理服務器Puppet

2021-03-17 10:29:35

systemdLinux管理工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级a性色生活片久久毛片波多野 | 成年免费大片黄在线观看岛国 | 韩国电影久久 | 91在线电影| 久久久国产精品 | 欧美综合一区二区三区 | 日本久草 | 美女国内精品自产拍在线播放 | 一本色道久久综合亚洲精品高清 | www.四虎.com | 91久久精品国产91久久性色tv | 91精品国产一区二区三区动漫 | 激情综合五月 | 日韩精品一区二区三区视频播放 | 在线观看成人免费视频 | 人人叉| 国产精华一区 | 日韩精品一区二区三区中文字幕 | 国产成人精品一区二区三区在线 | 久久久久久网站 | va在线| 极品在线| 亚洲精品白浆高清久久久久久 | 一级片免费视频 | 精品久久av | 亚洲成人免费电影 | 伊人伊人伊人 | 欧美男人天堂 | 97超级碰碰 | 国产乱码久久久久久 | 亚洲品质自拍视频 | 欧美婷婷 | 午夜精品久久 | 中文字幕视频在线 | 久久av资源网 | 伊人手机在线视频 | 97国产精品 | 日韩午夜场 | 日韩精品在线一区二区 | 91精品国产色综合久久 | 一区二区成人 |