资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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 vim-enhanced telnet软件的下载地址:facter:http:/downloads.puppetlabs.com/facter/facter-1.6.17.tar.gzhttp:/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 ruby-rdoc(也可以 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/manifests /存放入口文件的目录6. 生成 pupput 用户 :puppetmasterd -mkusers7. 启动服务:/etc/init.d/puppetmaster restart 客户端 puppetclient 安装部署:1. 环境准备:同步时间:ntpdate pool.ntp.org (如果时间不同步会有 问题)/ 可以不做安装 ruby:yum install ruby ruby-libs ruby-rdoc添加用户: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.rbwget 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/puppetvi /etc/puppet/puppet.conf -内容如下agentListen = trueServer = puppetserver -vi /etc/puppet/namespaceauth.conf-内容如下fileserverallow *puppetmasterallow *puppetrunnerallow *puppetbucketallow *puppetreportsallow *resourceallow *第三步: 连接认证:测试解析与 puppetmaster 端口是否畅通点击(此处)折叠或打开1. rootclient1 puppet-2.7.14# telnet puppetmaster.info.com 81401.2. Trying 192.168.0.12.3. Connected to puppetmaster.info.com (192.168.0.12).4. Escape character is .5.6. rootclient1 puppet-2.7.14# puppetd -test -server puppetmaster.info.com7. warning: peer certificate wont be verified in this SSL session8. info: Caching certificate for ca9. warning: peer certificate wont be verified in this SSL session10. warning: peer certificate wont be verified in this SSL session11. info: Creating a new SSL certificate request for client1.info.com12. info: Certificate Request fingerprint (md5): 07:C9:D4:43:3C:3E:D6:D1:0A:B1:8B:71:DB:6B:9D:FE13. warning: peer certificate wont be verified in this SSL session14. warning: peer certificate wont be verified
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号