您的位置:首页 > 其它

Stimulsoft Reports.Silverlight是一款强大的基于Silverlight平台的报表创建工具控件

2014-06-24 16:46 761 查看

第一,Puppet介绍:
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.



第二,工作原理: puppet既可以在单机上使用,也可以以c/s结构使用.在大规模使用puppet的情况下,通常使用c/s结构.在这种结构中puppet客户端只是指运行puppet的服务器,puppet服务器端是只运行puppetmaster的服务器. puppet客户端首先会连接到puppet服务器端,并且通过facter工具把客户端的基本配置信息发送给服务器端. 服务器端通过分析客户端的主机名,通过node 定义,找到该主机的配置代码,然后编译配置代码,把编译好的配置代码发回客户端,客户端执行代码完成配置.并且把代码执行情况反馈给puppet服务器端.修改系统配置 puppet 通过管理资源的方式来管理系统, 例如管理某个软件是否要安装,是安装最新的还是安装了就行. 管理某个服务是否开启, 管理某个文件的属性,内容等等. 所有的资源都有对应的几个属性可以设置. 通过设置属性的方式来管理资源. 有一种特殊的属性可以用在所有的资源上面,这种属性叫做 metaparams ( 元参数或者元属性).

1) 客户端通过facter收集客户端信息并发送至服务端2) 连接服务端并请求catalog日志3) 请求节点(node)的信息4) 从服务器端接收节点(node)的实例5) 编译代码(包括语法检查等工作)6) 查询是否有exported 虚拟资源7) 如有,则从数据库接收虚拟资源8) 接收完整的catalog日志9) 存储catalog日志到数据库10) 客户端接收完整的catalog日志 第三,案例目标:实现文件同步并修改文件所属帐户:测试环境:puppetserver : 10.0.3.170puppet1 : 10.0.3.171
第四,安装配置:两台机器都需要安装必要软件:yum install ntp vixie-cron wget vim-enhanced telnet软件的下载地址:facter: http://downloads.puppetlabs.com/facter/facter-1.6.17.tar.gzfacter是一个系统盘点工具,收集主机的一些资料,比如CPU,主机IP等,它收集到值发送给puppet服务器端,服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件,安装puppet之前必须先安装facter。puppet: https://downloads.puppetlabs.com/puppet/puppet-3.1.0.tar.gz
服务器puppetserver安装部署:1. 准备环境同步时间:ntpdate pool.ntp.org (如果时间不同步会有问题)由于puppet是由ruby语言编写,所以要安装ruby环境及库文件安装ruby:yum install ruby ruby-libs (也可以yun install ruby*)2. 修改HOSTS修改双方的/etc/hosts文件,添加各自的IP地址对应的主机名,生产环境做内部DNS比较好,不用修改每台服务器的hosts文件。10.0.3.170 puppetserver10.0.3.171 puppet13. 开放端口:8140(server服务器端口),8139(client服务器端口)/sbin/iptables -I INPUT -s * -p tcp --dport 8140 -j ACCEPT/sbin/iptables -I INPUT -s * -p tcp --dport 8139 -j ACCEPT或是干脆chkconfig iptables off 半闭防火墙4. 源码安装:安装facter和puppetwget http://downloads.puppetlabs.com/facter/facter-1.6.17.tar.gztar zxvf facter-1.6.17.tar.gzcd facter-1.6.17ruby install.rbcd ..
wget https://downloads.puppetlabs.com/puppet/puppet-2.7.10.tar.gztar zxvf puppet-2.7.10.tar.gzcd puppet-2.7.10ruby install.rb cd ..5. 复制文件:cp conf/auth.conf /etc/puppet/cp conf/redhat/fileserver.conf /etc/puppet/cp conf/redhat/puppet.conf /etc/puppet/cp conf/redhat/server.init /etc/init.d/puppetmasterchmod +x /etc/init.d/puppetmasterchkconfig --add puppetmasterchkconfig puppetmaster onchkconfig --level 35 puppetmaster onmkdir -p /etc/puppet/manifests6. 生成pupput用户:puppetmasterd --mkusers7. 启动服务:/etc/init.d/puppetmaster restart

客户端puppetclient安装部署:1. 环境准备:同步时间:ntpdate pool.ntp.org (如果时间不同步会有问题)安装ruby:yum install ruby ruby-libs 添加用户:useradd puppet2. 修改HOSTS:修改双方的/etc/hosts文件,添加各自的IP地址对应的主机名,生产环境做内部DNS比较好,不用修改每台服务器的hosts文件。10.0.3.170 puppetserver10.0.3.171 puppet13. 开放端口:开放8140(server服务器端口),8139(client服务器端口)/sbin/iptables -I INPUT -s * -p tcp --dport 8140 -j ACCEPT/sbin/iptables -I INPUT -s * -p tcp --dport 8139 -j ACCEPT或是干脆chkconfig iptables off 半闭防火墙4. 安装facter和puppet:wget http://downloads.puppetlabs.com/facter/facter-1.6.17.tar.gztar zxvf facter-1.6.17.tar.gzcd facter-1.6.17ruby install.rb
wget https://downloads.puppetlabs.com/puppet/puppet-2.7.10.tar.gztar zxvf puppet-2.7.10.tar.gzcd puppet-2.7.10ruby install.rb 5. 复制文件:cp conf/auth.conf /etc/puppet/cp conf/namespaceauth.conf /etc/puppet/cp conf/redhat/puppet.conf /etc/puppet/cp conf/redhat/client.init /etc/init.d/puppetchmod +x /etc/init.d/puppet
vi /etc/puppet/puppet.conf ---内容如下[agent]Listen = trueServer = puppetserver---vi /etc/puppet/namespaceauth.conf----内容如下[fileserver]allow *[puppetmaster]allow *[puppetrunner]allow *[puppetbucket]allow *[puppetreports]allow *[resource]allow *
第三步:认证客户端发送请求:puppetd --server puppetserver --test



服务器查看:puppetca --list



并执行:puppetca -s -a




第四步:功能测试:通过puppet可以向被管理机上推送文件,方法是使用file类型的source属性,并修改文件为puppet用户及组:实例:要把server服务器上/opt目录下的文件传输至client服务器的/opt目录下,文件名不变。第一步:Vi /etc/puppet/fileserver.conf[files]path /opt/allow 10.0.3.0/24第三步:vi /etc/puppet/manifests/site.ppfile { "/opt/zhu.html":source => "puppet://$puppetserver/files/zhu.html",owner => "puppet",group => "puppet",mode => 777,}
第四步:在/opt/目录下创建文件echo "this is puppet test page"> /opt/zhu.html
第五步:client端执行puppetd --server puppetserver --test

成功!
第五,总结:学习过程中,参考了庖丁解的技术博客,在此表示感谢,如有不正之处请网友指正,一起直步。总体感觉可以基于该平台做很多事,后续还有一些应用实例。参考puppet官方网站:http://www.puppetlabs.com/puppet中文wiki:http://puppet.chinaec2.com/puppet中文论坛:http://www.puppetfans.com

本文出自 “麦田里的猪” 博客,请务必保留此出处http://jackeyzhu.blog.51cto.com/345718/1154286
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: