自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在CentOS 6.2上安裝Puppet配置管理工具

運(yùn)維 系統(tǒng)運(yùn)維
云計(jì)算時(shí)代系統(tǒng)管理員會(huì)經(jīng)常陷入一系列的重復(fù)任務(wù)中,創(chuàng)建虛擬機(jī),安裝或重裝系統(tǒng),升級(jí)軟件包,管理配置文件,添加、管理和配置系統(tǒng)服務(wù)等。

  云計(jì)算時(shí)代系統(tǒng)管理員會(huì)經(jīng)常陷入一系列的重復(fù)任務(wù)中,創(chuàng)建虛擬機(jī),安裝或重裝系統(tǒng),升級(jí)軟件包,管理配置文件,添加、管理和配置系統(tǒng)服務(wù)等。這些任務(wù)低效而且無聊,我們需要把他們自動(dòng)化,于是就出現(xiàn)了系統(tǒng)管理員自己寫的腳本,用定制腳本實(shí)現(xiàn)自動(dòng)化,但是自己寫的腳本要保證能順利運(yùn)行在不同的平臺(tái)上不是一件輕松的工作,每次操作系統(tǒng)更新都需要重新測(cè)試定制腳本,耗費(fèi)大量時(shí)間和精力,靈活性和功能也很難保證。而且腳本語言雖然簡(jiǎn)單,但是自己寫的腳本不一定別的管理員就能馬上看懂,有時(shí)候自己看別人寫的腳本或代碼不是一件愉快的事情。所以出現(xiàn)了類似 Puppet, Chef 這樣的自動(dòng)化配置管理工具。為啥 Linode 只有19人就能應(yīng)付上千服務(wù)器上萬用戶,這就是自動(dòng)化帶來的好處。

  Puppet 是一個(gè)客戶端/服務(wù)器(C/S)架構(gòu)的配置管理工具,在中央服務(wù)器上安裝 puppet-server 服務(wù)器(puppet master),在需要被管理的目標(biāo)服務(wù)器上安裝 puppet 客戶端軟件(puppet client)。當(dāng)客戶端連接上服務(wù)器后,定義在服務(wù)器上的配置文件會(huì)被編譯,然后在客戶端上運(yùn)行??蛻舳嗣扛舭胄r(shí)主動(dòng)會(huì)和服務(wù)器通信一次,確認(rèn)配置信息的更新情況,如果有新的配置信息(或者配置有變化),配置文件將會(huì)被重新編譯并分發(fā)到客戶端執(zhí)行。當(dāng)然,也可以在服務(wù)器上主動(dòng)觸發(fā)更新指令來強(qiáng)制各客戶端進(jìn)行配置更新。

  以下安裝采用兩臺(tái)服務(wù)器,一臺(tái)是 master.vpsee.com 用來安裝 puppet-server 服務(wù);一臺(tái)是 client.vpsee.com 用來安裝 puppet 客戶端。

  Puppet 要求所有機(jī)器有完整的域名(FQDN),如果沒有 DNS 服務(wù)器提供域名的話,可以在兩臺(tái)機(jī)器上設(shè)置主機(jī)名(注意要先設(shè)置主機(jī)名再安裝 Puppet,因?yàn)榘惭b Puppet 時(shí)會(huì)把主機(jī)名寫入證書,客戶端和服務(wù)端通信需要這個(gè)證書):

  1. # vi /etc/hosts  
  2. 192.168.2.10    master master.vpsee.com  
  3. 192.168.2.11    client client.vpsee.com 

  Puppet 要求所有機(jī)器上的時(shí)鐘保持同步,所以需要安裝和啟用 ntp 服務(wù)(如果采用 CentOS-6.2-x86_64-minimal.iso 最小化安裝,需要額外安裝這個(gè)軟件包)。

  1. # yum install ntp  
  2.  
  3. # chkconfig ntpd on  
  4.  
  5. # ntpdate pool.ntp.org  
  6. 29 Feb 15:22:47 ntpdate[15867]: step time server 196.25.1.1 offset 98.750417 sec  
  7.  
  8. # service ntpd start  
  9. Starting ntpd:                                           [  OK  ] 

  安裝 puppet 服務(wù)

  Puppet 需要 Ruby 的支持,如果要查看命令行幫助的話需要額外 ruby-rdoc 這個(gè)軟件包:

  1. # yum install ruby ruby-lib ruby-rdoc 

  Puppet 不在 CentOS 的基本源中,需要加入 PuppetLabs 提供的官方源:

  1. # yum -y install wget  
  2.  
  3. # wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm  
  4.  
  5. # yum install puppetlabs-release-6-1.noarch.rpm  
  6.  
  7. # yum update 

  在 master 上安裝和啟用 puppet 服務(wù):

  1. # yum install puppet-server  
  2.  
  3. # chkconfig puppet on  
  4.  
  5. # service puppetmaster start  
  6. Starting puppetmaster:                                    [  OK  ] 

  關(guān)閉 iptables:

  1. # /etc/init.d/iptables stop  
  2. iptables: Flushing firewall rules:                         [  OK  ]  
  3. iptables: Setting chains to policy ACCEPT: filter          [  OK  ]  
  4. iptables: Unloading modules:                               [  OK  ] 

  安裝 puppet 客戶端

  在 client 上安裝 puppet 客戶端:

  1. # yum install puppet 

  Puppet 客戶端使用 HTTPS 和服務(wù)端(master)通信,為了和服務(wù)器端通信必須有合法的 SSL 認(rèn)證,第一次運(yùn)行 puppet 客戶端的時(shí)候會(huì)生成一個(gè) SSL 證書并指定發(fā)給 Puppet 服務(wù)端。

  1. # puppet agent --no-daemonize --onetime --verbose --debug --server=master.vpsee.com 

  Puppet 服務(wù)端接受到客戶端的證書后必須簽字(sign)才能允許客戶端接入,sign 后用 puppet cert list –all 查看會(huì)發(fā)現(xiàn) client.vpsee.com 前面多了一個(gè) + 后,表示 “加入” 成功:

  1. # puppet cert list --all  
  2.   client.vpsee.com (65:3C:20:82:AE:F6:23:A8:0A:0B:09:EF:05:64:1D:BB)  
  3. + master.vpsee.com   (AF:A0:32:78:D4:EB:D3:EE:02:1C:62:1C:83:3C:46:EC) (alt names: DNS:master, DNS:master.vpsee.com)  
  4.  
  5. # puppet cert --sign client.vpsee.com  
  6. notice: Signed certificate request for client.vpsee.com  
  7. notice: Removing file Puppet::SSL::CertificateRequest client.vpsee.com at '/var/lib/puppet/ssl/ca/requests/client.vpsee.com.pem'  
  8.  
  9. # puppet cert list --all  
  10. + client.vpsee.com (65:3C:20:82:AE:F6:23:A8:0A:0B:09:EF:05:64:1D:BB)  
  11. + master.vpsee.com   (AF:A0:32:78:D4:EB:D3:EE:02:1C:62:1C:83:3C:46:EC) (alt names: DNS:mas 

  這樣,客戶端和服務(wù)端就配置好了,雙方可以通信了。

  Hello, world

  現(xiàn)在可以在服務(wù)端寫個(gè)小例子來測(cè)試一下。這個(gè)例子作用很簡(jiǎn)單,用來在客戶端的 /tmp 目錄下新建一個(gè) helloworld.txt 文件,內(nèi)容為 hello, world. 在服務(wù)端編寫代碼:

  1. # vi /etc/puppet/manifests/site.pp  
  2. node default {  
  3.         file {  
  4.                 "/tmp/helloworld.txt": content => "hello, world";  
  5.         }  

  在客戶端上執(zhí)行 puppet,運(yùn)行成功后會(huì)在 /tmp 看到新生成的 helloworld.txt:

  1. $ puppet agent --test --server=master.vpsee.com  
  2. warning: peer certificate won't be verified in this SSL session  
  3. info: Caching certificate for client.vpsee.com  
  4. info: Caching certificate_revocation_list for ca  
  5. info: Caching catalog for client.vpsee.com  
  6. info: Applying configuration version '1330668451'  
  7. notice: /Stage[main]//Node[default]/File[/tmp/helloworld.txt]/ensure: defined content as '{md5}e4d7f1b4ed2e42d15898f4b27b019da4'  
  8. info: Creating state file /home/vpsee/.puppet/var/state/state.yaml  
  9. notice: Finished catalog run in 0.03 seconds  
  10.  
  11. $ cat /tmp/helloworld.txt   
  12. hello, world 

  如果想偷懶,可以直接使用 Example42 的開源 Puppet 模塊。

責(zé)任編輯:黃丹 來源: vpsee.com
相關(guān)推薦

2022-05-06 12:04:24

Ansible管理工具

2010-11-08 09:15:46

Puppet入門教程自動(dòng)化

2017-05-10 15:48:59

云平臺(tái)云計(jì)算工具

2009-07-20 18:16:11

軟件配置管理

2022-09-08 09:00:38

Ansible開源

2020-04-02 08:00:36

管理工具配置

2011-09-29 09:52:59

配置管理服務(wù)器Puppet

2013-07-15 15:00:26

項(xiàng)目管理工具

2015-12-11 09:45:45

CentOSZephyr工具

2011-10-09 13:49:51

2021-11-10 09:00:00

工具Chef開發(fā)

2019-08-30 10:28:18

網(wǎng)絡(luò)配置管理工具

2012-02-23 09:39:33

虛擬化桌面虛擬化V-Commander

2011-08-12 10:38:09

MongoDB

2012-09-17 16:41:04

CentOS5Puppet

2021-02-03 07:16:49

DevOps開發(fā)工具

2009-04-24 21:13:45

服務(wù)器虛擬化Vmware

2012-12-06 11:31:40

虛擬化

2020-09-30 14:05:22

網(wǎng)絡(luò)管理
點(diǎn)贊
收藏

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