搭建ubuntu puppet master & windows puppet client

puppet是一种Linux、Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。Puppet master定义了所有的结点(node)类型,每台机器或虚拟机是一个结点,当结点上的puppet client与puppet master通信时,就会获取自己所属的结点类型应该进行的操作,并在本机执行。


Puppet master必须安装在*nix机器上,本文使用Ubuntu搭建master,而client端搭在windows7上。

   1.安装ruby:因为puppet的底层是用ruby实现的,所以master和client都要安装ruby。

   sudo apt-get -y install irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev git-core

   从http://rubygems.org/pages/download下载最新的tgz包,

tar -xzf rubygems-2.2.4.tgz

cd rubygems-2.2.4

ruby setup.rb

2.安装puppet server:

wget https://apt.puppetlabs.com/puppetlabs-release-precise.deb

sudo dpkg -i puppetlabs-release-precise.deb

sudo apt-get update

sudo apt-get install puppetmaster

3.更新到最新版本

sudo apt-get update

sudo puppet resource package puppet ensure=latest

sudo /etc/init.d/puppetmaster restart重启puppet service

在windows7上安装puppet client比较简单,只要先后安装ruby和puppet就可以了,需要注意的是,安装puppet时会有个安装界面要求填写puppet master的机器名,缺省值是puppet,请将这个name换成puppet master的真实DNS名称。

下面是client和master建立通信:client会寻找指定的master,在第一次访问时向其发送证书,master签署接受证书,两端就建立了互信的通信通道,以后就不必再做证书认证了。这一步通常不会非常顺利,所以client和master最好都使用no-daemon模式,让应用程序在前台运行,这样可以清楚地看到问题和出错点在哪里。

client: stop widows service--puppet, run command "puppet agent -t"

master: sudo /etc/init.d/puppetmaster stop

sudo puppet master --verbose --no-daemonize

如果运行时出现错误:Error: Could not run: Address already in use - bind(2),运行“netstat -anpl | grep 8140”找到是哪个进程占用了8140端口,然后kill -9 pid终止该进程。

master启动后,启动client,这时在master上运行命令行:sudo puppet cert --list可以看到client端的请求证书,运行命令:sudo puppet cert --sign --all来签署并接受证书。


如果配置不成功,最常用的解决方法就是为client和master重新生成证书,这就需要先停止puppet service并将已有的证书删除。查找证书所在目录的命令行为:

sudo puppet master --configprint ssldir

puppet agent --configprint ssldir

至此,搭建工作就完成了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值