简介:

  • puppet是一种Linux、Unix平台的集中配置管理系统,使用ruby语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理 以及妥善处理资源间的依赖关系
  • Puppet是一个C/S架构的配置管理工具,在中央服务器上安装puppet-server软件包(被称作Puppet master)。在需要管理的目标主机上安装puppet客户端软件(被称作Puppet Client)。当客户端连接上Puppet master后,定义在Puppet master上的配置文件会被编译,然后在客户端上运行。每个客户端默认每半个小时和服务器进行一次通信,确认配置信息的更新情况。如果有新的配置信息或者配置信息已经改变,配置将会被重新编译并发布到各客户端执行。也可以在服务器上主动触发一个配置信息的更新,强制各客户端进行配置。如果客户端的配置信息被改变了,它可以从服务器获得原始配置进行校正。

[yongsan@yz141 puppet]$ tree
.
|-- auth.conf
|-- files
| |-- nagios
| | |-- README
| | `-- nrpe.cfg
| |-- rsync94_98
| | `-- rsyncd.conf_yz_94-98
| `-- scribe
| |-- README
| |-- central_scribe.conf_scribe06
| |-- central_scribe.conf_yt
| |-- central_scribe.conf_yt_intra
| |-- run_scribe_zhj.sh
| |-- scribe.server.conf_zhj
| `-- scribe_zhj.list
|-- fileserver.conf
|-- manifests
| |-- backup
| | |-- README

一‘环境
系统版本:
centos5.x(x86_64)
软件版本“
facter-1.5.8.tar.gz
puppet-2.6.1.tar.gz

二:安装配置
=====start puppet master=====
1.避免影响
/etc/init.d/iptables stop
#时间同步--重要
/usr/sbin/ntpdate pool.ntp.org
2.ruby环境
yum -y install ruby
3.创建puppet组合用户
useradd -s /sbin/nologin puppet

[root@yz6245 ~]# hostname
yz6245.hadoop.data.sina.com.cn
[root@yz3110 ~]# hostname
yz3110.hadoop.data.sina.com.cn
4.设置hosts
echo "10.39.3.110 yz3110.hadoop.data.sina.com.cn" >> /etc/hosts
echo "10.39.6.245 yz6245.hadoop.data.sina.com.cn" >> /etc/hosts
5,安装facter和puppet
[root@yz3110 ~]# wget https://downloads.puppetlabs.com/puppet/puppet-3.1.0.tar.gz
[root@yz3110 ~]# wget http://downloads.puppetlabs.com/facter/facter-1.6.17.tar.gz
[root@yz3110 puppet]# wget https://downloads.puppetlabs.com/puppet/puppet-2.7.10.tar.gz

[root@yz3110 puppet]# tar zxvf facter-1.6.17.tar.gz
[root@yz3110 puppet]# cd facter-1.6.17
[root@yz3110 facter-1.6.17]# ruby install.rb

#check factor
[root@yz3110 facter-1.6.17]# facter

[root@yz3110 puppet]# tar zxvf puppet-3.1.0.tar.gz
[root@yz3110 puppet]# cd puppet-3.1.0
[root@yz3110 puppet-3.1.0]# mkdir -p /etc/puppet
[root@yz3110 conf]# cp redhat/* /etc/puppet/
[root@yz3110 conf]# cp auth.conf /etc/puppet/
[root@yz3110 conf]# cp /etc/puppet/server.init /etc/init.d/puppetmaster
[root@yz3110 conf]# chkconfig --add puppetmaster
[root@yz3110 conf]# chkconfig --level 35 puppetmaster on
[root@master conf]# mkdir -p /etc/puppet/manifests
#启动puppet master
[root@master puppet-2.7.10]# /etc/init.d/puppetmaster start
Starting puppetmaster: /bin/bash: /usr/sbin/puppetmasterd: No such file or directory
[FAILED]
[root@master puppet-2.7.10]# cp sbin/puppetmasterd /usr/sbin/
[root@master puppet-2.7.10]# /etc/init.d/puppetmaster start
Starting puppetmaster: [ OK ]

#check 8140端口
netstat -lnt

#===master end=====

#=====agetn start====
授权
telnet master 8140

agent#puppet --test --server master.test.com

[yongsan@yz141 ~]$ sudo puppetca -l
"genneralwiki.localdomain" (A8:6B:67:6A:34:77:22:DC:94:22:63:36:6D:C4:2F:0C)

[yongsan@yz141 ~]$puppet -s genneralwiki.localdomain

agent#puppet --test --server master.test.com

重新授权
agent端
cd /var/lib/puppet/
rm -fr ssl
master端
cd /var/lib/puppet/ssl/ca/signed
rm -f agent.test.com.pem

[root@yz141 puppet]# ls /var/lib/puppet/yaml/node/

常见问题:

[root@yz6205 puppet]# puppetd --test --server yz6245.hadoop.data.sina.com.cn
info: Creating a new SSL key for yz6205.hadoop.data.sina.com.cn
warning: peer certificate won't be verified in this SSL session
info: Caching certificate for ca
warning: peer certificate won't be verified in this SSL session
info: Caching certificate for yz6205.hadoop.data.sina.com.cn
err: Could not request certificate: The certificate retrieved from the master does not match the agent's private key.
Certificate fingerprint: EB:28:80:42:A8:DC:D3:BD:36:9C:02:81:54:CA:FE:96
To fix this, remove the certificate from both the master and the agent and then start a puppet run, which will automatically regenerate a certficate.
On the master:
puppet cert clean yz6205.hadoop.data.sina.com.cn
On the agent:
rm -f /var/lib/puppet/ssl/certs/yz6205.hadoop.data.sina.com.cn.pem
puppet agent -t

Exiting; failed to retrieve certificate and waitforcert is disabled

解决:

vim /etc/puppet/fileserver.conf
[system_conf]
path /etc/puppet/manifests/
allow *
重启master
[root@yz6245 puppet]# /etc/init.d/puppetmaster restart
Stopping puppetmaster: [ OK ]
Starting puppetmaster: [ OK ]

修改site.pp
file {"/data0/test/scribe/scribe.server.conf":
mode=> 644,
source => "puppet://yz6245.hadoop.data.sina.com.cn/system_conf/scribe/scribe.server.conf",
}

[root@yz6205 scribe]# puppetd --test --server yz6245.hadoop.data.sina.com.cn
完成

查看agent更新时间
[root@yz6245 puppet]# ll /var/lib/puppet/yaml/node/

node'gz-qx-src-149-153-54.sina.cn','bj-yf-149-153-138.sina.com.cn','bj-yf-149-134-97.sina.com.cn','bj-yf-149-134-96.sina.com.cn','bj-ja-src-142-78-195.sina.cn','bj-bx-src-13-0-133.sina.cn','bj-bx-src-13-0-130.sina.cn','bj-bx-src-13-0-80.sina.cn','bj-bx-src-13-0-132.sina.cn','bj-bx-src-13-0-134.sina.cn','bj-ja-src-142-78-197.sina.cn','bj-yf-149-153-137.sina.com.cn','bj-ja-src-142-78-202.sina.cn','bj-bx-src-13-0-135.sina.cn','bj-ja-src-142-78-203.sina.cn','bj-yf-149-153-25.sina.com.cn','bj-ja-30-114-113.sina.com.cn','bj-yf-149-153-214.sina.com.cn','bj-ja-src-142-78-61.sina.cn','bj-xd-src-108-7-97.sina.cn','bj-bx-src-13-0-79.sina.cn','bj-xd-src-108-7-33.sina.cn','bj-xd-src-108-7-32.sina.cn','bj-yf-149-153-215.sina.com.cn','bj-xd-src-108-7-40.sina.cn','gz-qx-src-60-187-21.sina.cn','gz-qx-src-60-187-22.sina.cn','gz-qx-src-60-187-23.sina.cn','gz-qx-src-63-237-192.sina.cn','gz-qx-src-108-216-136.sina.cn','gz-qx-108-216-28-src.sina.com.cn','gz-qx-108-216-29-src.sina.com.cn','gz-qxg-108-216-137.sina.com.cn','gz-qxg-108-216-48.sina.com.cn','gz-qxg-108-216-55.sina.com.cn','gz-qxg-108-216-56.sina.com.cn','gz-sx-src-83-0-137.sina.com.cn','gz-sx-src-83-0-138.sina.com.cn','gz-sx-src-83-0-140.sina.com.cn','gz-sx-src-83-0-139.sina.com.cn','gz-sx-src-83-0-141.sina.com.cn','gz-sx-src-83-0-144.sina.com.cn','gz-sx-83-0-150.sina.com.cn','gz-sx-83-0-148.sina.com.cn','gz-sx-83-0-149.sina.com.cn','gz-sx-83-0-147.sina.com.cn','gz-sx-83-0-146.sina.com.cn','gz-sx-83-0-145.sina.com.cn','gz-sx-src-83-0-154.sina.com.cn','sh-qz-172-207-195.sina.com.cn','gz-sx-src-83-0-155.sina.com.cn','sh-qz-172-207-192.sina.com.cn' {
cron {"remove sima data":
command=>"find /data0/logs/sima -type f -name 'sima_*' -atime -3 -delete > /root/delete.log ",
minute=>"*/10",
hour=>"*",
monthday=> "*",
ensure=> present,
}
}

定义模板:
[yongsan@mis2120 manifests]$ cat site.pp
import "modules.pp"
import "nodes/*.pp"

[yongsan@mis2120 manifests]$ cat modules.pp
import "vm"
#import "freetds"
import "jobclient"

[yongsan@mis2120 nodes]$ cat vm.pp
node 'yz384.hadoop.data.sina.com.cn' {
include vm
include jobclient
}

node 'yz385.hadoop.data.sina.com.cn' {
include vm
include jobclient
}

生成puppet.conf文件
[root@yz6245 puppet]# puppetmasterd --genconfig > puppet.conf

noop参数又称dry run模式,即模拟执行
[root@yz6205 test]# puppetd --test --server yz6245.hadoop.data.sina.com.cn --noop

验证.pp文件语法正确性
[root@yz6245 manifests]# puppet parser validate site.pp

批量检查文件语法的正确性
[root@yz6245 manifests]# find /etc/puppet/ -type f -name "*.pp" |xargs -n 1 puppet parser validate

[root@yz6245 manifests]# puppet kick -p 10 -t test -host yz6205.hadoop.data.sina.com.cn

puppet笔记的更多相关文章

  1. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  2. puppet学习笔记(二)

    在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧. 1.获取module路径 这里的module就是指一个模块,可以把puppet想象成一个个项目的部 ...

  3. puppet学习笔记(一)

    之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...

  4. puppet学习笔记

    puppet优势:容易理解.用户较多.门槛低.简单.安装配置文件较少 puppet使用Ruby语言开发,安装puppet需要安装Ruby puppet运行环境:Redhat.Centos.Window ...

  5. ELK笔记

    ELK笔记 ELKStack高级实战培训http://files.cnblogs.com/files/MYSQLZOUQI/ELKStack%E9%AB%98%E7%BA%A7%E5%AE%9E%E6 ...

  6. Advanced Puppet 系列的前言

    什么是Advanced 在网络上,你能找到大量关于Puppet的安装,配置以及基础用法的文章和博客.你在通过一段时间的实战后,熟练掌握了Puppet基础用法,随着你管理的集群日益扩大,你的部署逻辑越来 ...

  7. 优酷、YouTube、Twitter及JustinTV视频网站架构设计笔记

    本文是整理的关于优酷.YouTube.Twitter及JustinTV几个视频网站的架构或笔记,对于不管是视频网站.门户网站或者其它的网站,在架构上都有一定的参考意义,毕竟成功者的背后总有值得学习的地 ...

  8. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  9. 部署:持续集成(CI)与持续交付(CD)——《微服务设计》读书笔记

        系列文章目录:     <微服务设计>读书笔记大纲 一.CI(Continuous Integration)简介  CI规则1:尽量频繁地把代码签入到分支中以进行集成 CI规则2: ...

随机推荐

  1. corethink功能模块探索开发(十四)后台编辑按钮

    效果图: 1.添加下图55&58行代码 2.实现edit方法 位于Equip/Admin/DeviceRepaireAdmin.class.php中 public function edit( ...

  2. MySQL 数据类型(Day41)

    一.介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的高度,但宽度是可选的. mysql数据类型概览 #1.数字:(默认都是有符号,宽度指的是显示宽度,与存储无关) ...

  3. WCF RIA SERVICE相关技术

    WCF RIA SERVICE实体属性拷贝 private void DoSubmit() { ((IEditableObject)this.RepairContract).EndEdit(); va ...

  4. PL/SQL编程—分页功能(存储过程)

    SQL),bookname ),publish )); Table created SQL> SQL> create or replace procedure sp_add_book(bo ...

  5. ZOJ - 3593 One Person Game (扩展欧几里得)

    题意:一个人在坐标A,要前往坐标B的位置.可以往左或往右走a,b,a+b个单位,求到达B的最小步数. 分析:扩展欧几里得算法求解线性方程的套路不变.令C=fabs(A-B),c = a+b, 扩展gc ...

  6. HYSBZ - 2243 染色 (树链剖分+线段树)

    题意:树上每个结点有自己的颜色,支持两种操作:1.将u到v路径上的点颜色修改为c; 2.求u到v路径上有多少段不同的颜色. 分析:树剖之后用线段树维护区间颜色段数.区间查询区间修改.线段树结点中维护的 ...

  7. POJ 2516 Minimum Cost (KM最优匹配)

    题意:有N家家店,每家店都对K种货物有需求:同时有M家仓库,对K钟货物有供应.对于每种货物,每个仓库送至每家店都有自己的单位费用.求满足所有店所有货物的最小费用 分析:对于每一种货物,如果总需求大于总 ...

  8. linux中相关服务不能访问的排错技巧

    Linux相关服务不能访问的排错步骤,以HTTP服务为例: 一.服务端排查思路: 1.检查SELinux是否关闭(针对CentOS6系统)  (1)临时关闭      setenforce 0  (2 ...

  9. Web开发相关笔记 #01#

    前端学习纲要 ※jQuery 参考 ※ 整理 Chrome 收藏夹的小技巧 ※ 解决 AJAX 跨域获取 cookie ※ 记一次 MyBatis 相关的 debug [1] 前端学习纲要: ♦ 第一 ...

  10. HDU 1238 Substing

    思路: 1.找出n个字符串中最短的字符串Str[N] 2.从长到短找Str[N]的子子串 subStr[N],以及subStr[N]的反转字符串strrev(subStr[N]):(从长到短是做剪枝处 ...