一 puppet 简介

puppet 是用ruby 开发的,开源的集中配置管理工具。puppet 是一个C/S结构。能够帮助系统管理员对系统,进行软件包升级,管理配置文件,系统服务,cron 任务,以及对系统中用户管理等等。puppet 是个典型的星型架构,clients 默认情况下是每30分钟请求一次server端,确认是否有新的变更操作指令。在配置puppet 环境的时候,需要使用dns 如果没有dns 的可以修改hosts 文件,确保puppet  master和puppetclient 都能够正确解析对方。

puppet 工作流程如下:

1 客户端puppetd 调用facter,facter 探测出主机的一些变量,如主机名称,内存大小,ip地址等。puppetd 把这些信息通过ssl  连接发送到服务器端

2 服务器端的puppetmaster 检测客户端的主机名,然后找到manifest里面对应的node配置,并对该部分内容进行解析,facter送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没有牵涉的代码不解析。解析分为几个阶段,语法检查,如果语法错误就报错。如果语法没有错误,就继续解析,解析的结果生成一个中间的“伪代码“,然后把伪代码发送给客户端;

3 客户端接收到伪代码,并执行,客户端吧执行结果发送给服务器端;

4 服务器端包客户端的执行结果写入日志

二 所需软件,

ruby-2.0.0-p195.tar.gz

facter-1.6.18.tar.gz

puppet-3.2.1.tar.gz

三 配置安装

1 首先删除系统自带的ruby 因为我的OS Version 为RHEL5.0,为在后面安装foreman 或者puppet-dashboard,故这里升级了ruby

#yum remove  ruby-*

#tar xf ruby-2.0.0-p195.tar.gz

#cd  ruby-2.0.0-p195

#./configure –prefix=/usr/local/ruby && make && makeinstall

2 安装facter

# tar xf  facter-1.6.18.tar.gz

#cd facter-1.6.18

#/usr/local/ruby/bin/rubyinstall.rb

3 安装puppet

#tar xf puppet-3.2.1.tar.gz

#cd puppet-3.2.1

#/usr/local/ruby/bin/ruby install.rb

4 配置puppet

#cd ext/redhat

#cp puppet.conf fileserver.conf  /etc/puppet/

#cp logrotate /etc/logrotate.d/puppetmaster

#cp server.init /etc/init.d/puppetmaster

#chmod 700 /etc/init.d/puppetmaster

#cp server.sysconf ig /etc/sysconfig/puppetmaster

#useradd puppet

#cp ../../conf/{auth.conf,tagmail.conf} /etc/puppet/

5 创建命令连接

#ln -sf /usr/local/ruby/bin/{bundle,erb,extlookup2hiera,facter,gem,irb,puppet,rake,rdoc,ri,ruby,testrb}  /usr/bin

6 puppet 配置文件详解

#cd /etc/puppet

#ls

auth.conf

files

fileserver.conf   #puppet文件服务器配置文件

manifests  #puppet主文件所在目录

modules   #puppet 的模块所在文件

namespaceauth.conf

puppet.conf  #puppet 的主配置文件

注:参考 http://dongxicheng.org/category/cluster-managemant/

本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/1213217,如需转载请自行联系原作者

puppet 安装详解相关推荐

  1. puppet 学习总结(1)——puppet 入门详解

    一.puppet 介绍 1.概述 puppet 是一个 IT 基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期: 供应(provisioning).配置(configuratio ...

  2. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  3. nagios 3.2安装详解(一)

    Nagios 安装详解 对于运维人员来说,获悉服务器状况的信息非常重要,针对监控服务,比较好的有cacti和nagios,cacti使用更简单一些,cacti主要是用来采集信息,CPU.MEM.流量等 ...

  4. Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  5. linux下weblogic版本,Linux下weblogic10.3.6(jar)版本安装详解

    一.安装前的准备 安装weblogic是需要JDK环境的,虽然weblogic有自带的JDK,但是我一般是自己选择JDK进行安装,如果你要自行安装,可以参考我的另一篇博客 https://www.cn ...

  6. Windows 下OpenSSL 安装详解 +图解

    Windows 下OpenSSL 安装详解 +图解 转载于:https://www.cnblogs.com/zhujiabin/p/5088646.html

  7. CentOS下Hive2.0.0集群模式安装详解

    本文环境如下: 操作系统:CentOS 6 32位 Hive版本:2.0.0 JDK版本:1.8.0_77 32位 Hadoop版本:2.6.4 MySQL版本:5.6.30 1. 准备工作 1.1 ...

  8. Kafka单机、集群模式安装详解(二)

    本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. ...

  9. 【Linux开发】Linux下jpeglib库的安装详解

    Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...

  10. mysql-8.0.12语法_mysql-8.0.12 (免安装版) 安装详解

    mysql-8.0.12 (解压版) 安装详解 错误解决 第一步:mysql-8.0.12 (解压版) 下载地址:https://www.mysql.com/downloads/ 第二步:配置初始化m ...

最新文章

  1. centos7 通过脚本查询每个应用使用的内存
  2. nginx配置thinkphp5
  3. AutoLayout--masonry使用
  4. 【转】细说.NET中的多线程 (二 线程池)
  5. Chapter 4 Invitations——25
  6. linux系统文件查找及管理
  7. 2、Python_Day_1_作业
  8. Bp神经网络+C++实现
  9. Citrix XenApp工作原理
  10. STM32:利用VM8978和I2S实现录音的频率分析
  11. Python 入门学习 详细知识点+典型例题 /自学笔记(四)
  12. 计算机存储单位t代表什么意思,存储单位是什么
  13. Android第三方登录详解2
  14. Linux——Makefile文件
  15. 清理docker的overlay2日志释放磁盘空间
  16. 在讨论全景视频的未来之前,我们先搞清楚全景视频是如何实现的
  17. shardingjdbc 实现读写分离
  18. 开启Demond Page需要的步骤(By Walle@ARMCE)
  19. 在sandbox中无法输入中文
  20. WebGather有用网站大推荐

热门文章

  1. 每周荐书:SQL优化、深度学习、数据科学家(评论送书)
  2. Tensorflow:tensor数据类型转换、计算和变换
  3. Scala:集合类型Collection和迭代器
  4. python类:class创建、数据方法属性及访问控制(下划线)
  5. C语言如何去掉非数字字符串,Objective-C中利用正则去除非数字字母汉字方法实例...
  6. java检测栈溢出_java运行方法栈溢出
  7. axios get请求添加去缓存
  8. Flutter TextField 限制只允许输入数字,字母,小数,设置限制小数位数
  9. 【安装包】MySQL客户端
  10. Eclipse自动生成get和set方法