Puppet部署:安装puppet server、client
创始人
2024-08-30 17:10:36
0

 

puppet与其他手工操作工具有一个***的区别就是 puppet的配置具有稳定性,因此你可以多次执行puppet, 一旦你更新了你的配置文件,puppet就会根据配置文件来更改你的机器配置,通常每30分钟检查一次. puppet会让你的系统状态同配置文件所要求的状态保持一致. 比如你配置文件里面要求ssh服务必须开启. 假如不小心ssh服务被关闭了,那么下一次执行puppet的时候,puppet会发现这个异常,然后会开启 ssh 服务. 以使系统状态和配置文件保持一致.puppet就象一个魔术师,会让你的混乱的系统收敛到puppet配置文件所想要的状态。

可以使用puppet管理服务器的整个生命周期,从初始化到退役.不同于传统的例如sun的Jumpstart或者redhat的Kickstart, puppet可以长年让服务器保持***状态.只要一开始就正确的配置他们,然后再也不用去管他们.通常puppet用户只需要给机器安装好puppet并让他们运行,然后剩余的工作都由puppet来完成。

  试验环境

  硬件:两台服务器,虚拟服务器或者物理机器都行,ip地址分别是 192.168.10.133 (server)和 192.168.10.207(client) ;下文分别用server和client代替两个服务器.

  软件:安装Centos 5X64(server),Ubuntu 12.04(client) 系统

  网络:两台机器互相能访问

在server端配置: 1.设置主机名:

  1. [root@server ~]# uname -a  
  2. Linux server.puppet.com 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux  
  3. [root@server ~]# hostname  
  4. server.puppet.com  
  5. [root@server ~]# cat /etc/hosts  
  6. # Do not remove the following line, or various programs  
  7. # that require network functionality will fail.  
  8. 127.0.0.1 redmine localhost.localdomain localhost  
  9. ::1 localhost6.localdomain6 localhost6  
  10. 192.168.10.133 server.puppet.com server 

2.配置server端的yum源(因为centos默认没有puppet 源,因此先配置puppet的源,下面链接失效可以参考:https://fedoraproject.org/wiki/EPEL/zh-cn.)

  1. [root@server ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm 

3.开始安装puppet server

  1. [root@server ~]# yum -y install puppet-server facter ruby ruby-libs ruby-shadow 

4.yum安装puppet成功,先启动服务,查看安装成功否

  1. [root@server ~]# service puppetmaster start  
  2. Starting puppetmaster: [ OK ]  
  3. [root@server ~]# ps -ef | grep puppet  
  4. puppet 2937 1 0 11:47 ? 00:00:00 /usr/bin/ruby /usr/sbin/puppetmasterd  
  5. root 2943 2751 0 11:47 pts/1 00:00:00 grep puppet 

个人喜欢先用

  1. [root@server ~]# puppet master --verbose --no-daemonize  
  2. notice: Starting Puppet master version 2.6.17 

因为这个可以看到输出.跟后面的测试有关系,调试完毕.建议用守护进程方式启动

现在看到server启动没有问题.现在可以出安装 ubuntu client了

1.设置client的hostname

  1. liming@client:~$ hostname  
  2. client.puppet.com 

2.设置server hosts(添加如下)

  1. liming@client:~$ sudo vim /etc/hosts  
  2. 192.168.10.133 server.puppet.com 

3.设置ubuntu apt源

  1. liming@client:~$ sudo  su -  
  2.    
  3. liming@client:~$ echo -e "deb http://apt.puppetlabs.com/ lucid main\ndeb-src http://apt.puppetlabs.com/ lucid main" >> /etc/apt/sources.list.d/puppet.list  
  4.    
  5. liming@client:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 4BD6EC30  
  6. liming@client:~$ sudo apt-get update 

4.安装puppet 客户端

sudo apt-get install puppet

5.测试

  1. liming@client:~$ sudo puppet agent --server=server.puppet.com --no-daemonize --verbose --onetime  
  2. info: Creating a new SSL key for client.puppet.com  
  3. warning: peer certificate won't be verified in this SSL session  
  4. info: Caching certificate for ca  
  5. warning: peer certificate won't be verified in this SSL session  
  6. warning: peer certificate won't be verified in this SSL session  
  7. info: Creating a new SSL certificate request for client.puppet.com  
  8. info: Certificate Request fingerprint (md5): 54:CC:33:85:ED:4E:97:05:5F:6D:CE:D9:1F:1F:E9:BC  
  9. warning: peer certificate won't be verified in this SSL session  
  10. warning: peer certificate won't be verified in this SSL session  
  11. warning: peer certificate won't be verified in this SSL session 

服务器端查看等待请求证书连接的客户端

  1. [root@server ~]# puppet cert --list  
  2. "client.puppet.com" (54:CC:33:85:ED:4E:97:05:5F:6D:CE:D9:1F:1F:E9:BC) 

现在server和client 端都没问题.若想吧client 换成Centos   Or RHEL 重复server 2.配置puppet的yum源.直接yum install puppet 即可!

出现的问题:

  1. liming@client:~$ puppetd --server server.puppet.com --test  
  2. err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. This is often because the time is out of sync on the server or client  
  3. warning: Not using cache on failed catalog  
  4. err: Could not retrieve catalog; skipping run  
  5. err: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. This is often because the time is out of sync on the server or client 

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...