Puppet安装以及集成Dashboard手册.docx
《Puppet安装以及集成Dashboard手册.docx》由会员分享,可在线阅读,更多相关《Puppet安装以及集成Dashboard手册.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Puppet安装以及集成Dashboard手册Puppet简介puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配
2、置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.安装前准备测试机环境系统角色IP主机名CentOS 6.5/CentOS 5.5 都是相同步骤Master10.2.180.183app180-CentOS 5.5Client10.2.180.181app180-CentOS 6.4Client10.2.180.184app180-1. 关闭selinuxsed -i /SELINUX/s/enforcing/disabled/ /etc/selinux/config; setenforce 02. 关闭iptablech
3、kconfig iptables off; service iptables stop3. 时间同步ntpdate time.nist.gov;echo */10 * * * * ntpdate time.nist.gov /var/spool/cron/root4. 配置域名解析,或直接在hosts里配置主机名5. 配置epol及puppet源Enterprise Linux 6rpm -ivh rpm -ivh http:/dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmEnterprise Linux 5rp
4、m -ivh rpm -ivh http:/dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm保留yum下载的rpm包 sed -i s/keepcache=.*/keepcache=1/g /etc/yum.conf安装master和agentMasterPuppet Master Server安装,安装时最新版服务端为 3.6.1-1yum -y install puppet-server更新puppet resource package puppet-server ensure=latest配置chkconfi
5、g puppetmaster on; service puppetmaster start启动后会自动在/var/lib/puppet/ssl下生成 主机名.pem的ca文件。NodesPuppet Agent Nodes 安装, 安装时最新版客户端为 3.6.1-1yum -y install puppet更新puppet resource package puppet ensure=latestnode配置连接到puppet-mastersed -i s/#PUPPET_SERVER=puppet/PUPPET_SERVER=app180- /etc/sysconfig/puppetsed
6、 -i s/#PUPPET_PORT=8140/PUPPET_PORT=8140/g /etc/sysconfig/puppetsed -i s/#PUPPET_LOG=/var/log/puppet/puppet.log/PUPPET_LOG=/var/log/puppet/puppet.log/g /etc/sysconfig/puppet#runinterval = 60 /代表60秒跟服务器同步一次 echo report = true /etc/puppet/puppet.confecho runinterval = 60 /etc/puppet/puppet.confchkconf
7、ig puppet on; service puppet start还有一种同步方式节省内存,直接cron方式,定时调用。使用下面语句增加crontab任务puppet resource cron puppet-agent ensure=present user=root minute=30 command=/usr/bin/puppet agent -onetime -no-daemonize -splaycrontab -l启动后会自动在/var/lib/puppet/ssl下生成 主机名.pem的ca文件。CA认证node启动agent后会生成 主机名.pem 的证书文件,自动向mast
8、er要求签名的。如果node主机名改变了需要删除原证书文件,并在master上clean原客户端名字,然后重新生成证书并要求签名。删除证书文件 rm -rf /var/lib/puppet/ssl/*可以使用调试模式生成证书。puppet agent -no-daemonize -debug -onetime -verbose -server= app180-master端列出需要签发的客户端puppet cert list签发指定客户端puppet cert sign app180-签发所有客户端请求puppet cert sign -all注销客户端证书puppet cert revoke
9、 app180-清除客户端证书puppet cert clean app180-master自动签名配置在服务器端的puppet.conf配置文件里面加上mainautosign = true或直接建立文件echo * /etc/puppet/autosign.confpuppet报告系统Dashboard部署PuppetDasshboard是由支持Puppet开发的公司Puppetlabs创建的,是RubyonRails程序。可以作为一个ENC(外部节点分类器)以及一个报告工具,并且正在逐渐成为一个包含许多Puppet新功能的集成界面,例如审计和资源管理功能。PuppetDashboard是
10、一个RubyonRails程序,用于显示Puppetmaster和agent的相关信息。它允许你查看从一个或多个Puppetmaster汇总的图形和报告数据。它同时从一个或者多个Puppetmaster上收集来自于Puppetagent的资产数据(主机的Fact和其他信息)。最后,它能作为一个ENC来配置Puppet节点,并指定这些节点上的类和参数。安装软件包yum install ruby-mysql mysql-server puppet-dashboard配置数据库chkconfig mysqld on;service mysqld startmysqladmin -uroot pass
11、word mysql 建库脚本CREATE DATABASE dashboard CHARACTER SET utf8;CREATE USER dashboardlocalhost IDENTIFIED BY ;GRANT ALL PRIVILEGES ON dashboard.* TO dashboardlocalhost;flush privileges;优化数据库mysqld# Allowing 32MB allows an occasional 17MB row with plenty of spare room max_allowed_packet = 32M 然后重启mysqld修
12、改dashboard链接数据库配置vi /usr/share/puppet-dashboard/config/database.yml把production段改为如下内容,其它段可不用改建立 Schemacd/usr/share/puppet-dashboard/rake gems:refresh_specs #修复什么东西rake RAILS_ENV=production db:migrate没有报错的话,数据库就建立完成了。查看数据库mysql show tables;+-+| Tables_in_dashboard |+-+| delayed_job_failures | delayed
13、_jobs | metrics | node_class_memberships | node_classes | node_group_class_memberships | node_group_edges | node_group_memberships | node_groups | nodes | old_reports | parameters | report_logs | reports | resource_events | resource_statuses | schema_migrations | timeline_events |+-+18 rows in set (
14、0.00 sec)测试DashBoard是否工作cd/usr/share/puppet-dashboard/./script/server -e production你可以直接使用 http:/dashboardserver:3000访问.运行Dashboard(WEBrick方式)/etc/init.d/puppet-dashboard start访问http:/dashboardserver:3000这种方式只是测试运行的时候使用,官方不推荐,不支持并发,只适合少量客户端。安装配置Passenger方式yum install openssl-devel zlib-devel curl-de
15、vel gcc-c+ httpd httpd-devel mod_ssl ruby-devel rubygems gcc安装Rack/PassengerPassenger是Apache 2.x的一个扩展,用来在Apache中运行Rails或Rack应用。puppetmaster默认使用WEBrick提供文件服务,如果你的puppet客户端很多,puppetmaster的文件服务性能会很差,为了使puppetmaster更健壮,所以使用Apache提供文件服务。gem install rack passenger #这个可以本地安装的通过下面脚本下载for i in daemon_control
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Puppet 安装 以及 集成 Dashboard 手册
限制150内