热门IT资讯网

运维利器puppet:初步安装与配置

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,测试环境: vmwarePuppet_master: 192.168.1.1 puppetmaster.sina.com.cn Node-1:192.168.1.2 node.sina.com.cn

测试环境: vmware

Puppet_master: 192.168.1.1 puppetmaster.sina.com.cn Node-1:192.168.1.2 node.sina.com.cn 1.安装ruby和ruby相关库 #Yum -y install ruby ruby-libs 中央处理器和节点都要安装 #ruby -version 如果返回了Ruby版本,安装成功。 2.安装Facter. Puppet依赖Facter工具提供主机的信息。Facter是使用Ruby编写的,和Puppet都是由Luke Kanies和Reductive实验室开发。他是一个Ruby库的交互平台,返回"facts"作为主机操作系统的信息,例如:IP地址,系统版本等。 #wget http://www.reductivelabs.com/downloads/facter/facter-1.5.5.tgz #tar -zxvf facter-1.5.5.tar.gz -C /usr/local/src/ #ruby install.rb #facter -version 不带任何选项的运行facter将返回一个所有facts的清单,它们的值是你的主机目前可用的信息。 3.安装puppet #wget  http://downloads.puppetlabs.com/puppet/puppet-2.6.5.tar.gz #tar -zxvf puppet-2.6.5.tar.gz -C /usr/local/src/ #ruby install.rb #puppet --version 返回版本号安装成功 #grep 'puppet' /etc/passwd 如果没有请添加 #/usr/sbin/useradd -s /sbin/nologin -M puppet 添加puppet用户和组 #vim /etc/puppet/manifests/site.pp 配置一个简单的文件使puppetmaster能够启动 #cp conf/namespaceauth.conf /etc/puppet/ #cp conf/redhat/puppet.conf /etc/puppet/puppet.conf #cp conf/redhat/fileserver.conf /etc/puppet/ #cp conf/redhat/server.ini /etc/init.d/puppet ##客户端 cp conf/redhat/client.ini /etc/init.d/puppet #chmod o+x puppet #chkconfig --add puppet # mkdir -p /var/lib/puppet/rrd #chown -R puppet.puppet /var/lib/puppet/rrd #service puppet start 4.启动puppet客户端 #puppetd --server puppetd.sina.com.cn --verbose --waitforcert 60 连接puppetmaster 开始守护 并隔60秒查看从puppetmster返回的注册信息. #puppetca --list 能够列出所有等待注册的请求. 或:建立一个autosign.conf allow *.leju.com #用于自动验证 #puppetca --sign node1.sina.com.cn 注册请求,请求注册成功后将看到node1中的/etc/passwd group 已更改为bin. 客户端 puppet.conf添加 rununterval = 900 listen = true client =false bindaddress = "192.168.1.2" server=puppet.sina.com.cn Puppetmaster : /etc/puppet下目录结构 | auth.conf | fileserver.conf | puppet.conf |manifests|-modules.pp,site.pp |nodes|-node.pp |modules|-crond|-manifests|-base.pp,addcron.pp,crontab.pp |-apache|manifests|.... |files|http.conf |template|... #Vim base.pp class general { file { "stop_services": name => "/usr/local/src/services.pl", mode => 755, owner => root, group => group, ensure => present, source => "puppet://puppetmaster.leju.com/public/services.pl", } exec { "/usr/local/src/services.pl": require => File["stop_services"], path => "/usr/bin/perl:/sbin", } } #此脚本是用于仅开启系统常用服务,其他服务全部关闭.具体请查看本人博客perl章节. 强制客户端更新 puppetrun --host node.sina.com.cn

#注意:允许传送的文件目录一定要在fileserver.conf中允许.

[public]

Path /public

Allow *.leju.com

Allow 192.168.1.0/24

如果报错:403 则将客户端中auth.conf path / allow * 即可. 或在客户端 执行 puppetd --test --debug (不用加--server选项因为配置文件中已经指向) 客户端中 查看 /usr/local/src 发现已有services.pl 运行 chkconfig --list 发现除几个常用服务外 其他服务状态均为off.
0