uf123 发表于 2018-8-3 09:36:17

puppet安装与使用--安装

  puppet安装与使用--安装
  网上参考,推荐一个不错的puppet文章站点http://www.mysqlops.com/category/puppet,百度搜puppet大部分好的文章还是出自这里,下面根据我的操作,记录下安装步骤和遇到的问题
  Puppet 工作流程
  1.Puppet 客户端请求节点配置    Puppet master进行SSL认证
  2.将信息日志写入cactlog
  3.Puppet 解析器解释代码 (包括错误检查以及语法检查),并写入日志。
  4.事务处理(例如是否有权限,是否要同步文件,是否有collection资源)
  5.客户端发送日志
  6.Ssl认证授权结束,整个流程结束。
  Puppet 安装
  我的安装环境操作系统                         cenos5.2 32位
  server                           puppet1    192.168.140.78
  clinet                              puppet2    192.168.140.79
  clinet                              puppet3    192.168.140.80
  安装前要注意:
  由于SSL证书依赖时间同步。请注意服务端与客户端保持一致。推荐使用ntp 同步时间。
  由于基于主机名,推荐使用FQDN,标准格式。认证过后请不要随便修改主机名。(我的主机名以上面puppet1、2、3为例)
  
  安装步骤(使用yum安装比较方便)
  1).配置源/etc/yum.repos.d/下puppetlabs.repo,如下:
  
  name=Puppet Labs Products $releasever - $basearch
  baseurl=http://yum.puppetlabs.com/el/$releasever/products/$basearch
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=1
  gpgcheck=1
  
  name=Puppet Labs Dependencies $releasever - $basearch
  baseurl=http://yum.puppetlabs.com/el/$releasever/dependencies/$basearch
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=1
  gpgcheck=1
  
  name=Puppet Labs Products $releasever - $basearch - Source
  baseurl=http://yum.puppetlabs.com/el/$releasever/products/SRPMS
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  failovermethod=priority
  enabled=0
  gpgcheck=1
  
  name=Puppet Labs Source Dependencies $releasever - $basearch - Source
  baseurl=http://yum.puppetlabs.com/el/$releasever/dependencies/SRPMS
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=0
  pgcheck=1
  2).yum install ruby ruby-libs ruby-shadow (Puppet 是用ruby语言写的,所以要安装ruby环境,服务器端与客户端都要安装)
  yum -y install puppet puppet-server facter(安装puppetmaster) Puppet 客户端, 只需要使用yum –y install puppet 即可.
  注意:
  客户端和服务器端版本要一致。如果版本不一致的话,那么高版本的只能是puppet server,另一台只能为puppet客户端,也就是说puppet 服务端的版本可以 大于或者等于客户端版本,不可以小与,因为有些同学有些是yum安装的

  测试安装
  1). 在puppet安装完成后,主机名使用fqdn,用dns解析最好,如没有,可以使用hosts,我用hosts解析,如下图。

  每台机子修改相对应hostname
  source /etc/sysconfig/network
  使用ntpdate 使每台机子时间同步
  2).启动puppetmaster,检查防火墙确保8140端口开放,在客户端运行命令测试:
  /etc/init.d/puppetmaster start   #(puppetmaster/puppet1上运行)
  puppetd --test --server puppet1 (#客户端puppet2/puppet3上运行)
  会有如下提示:
  warning: peer certificate won't be verified in this SSL sessionExiting; no certificate found and waitforcert is disabled
  不用担心,这是因为第一次运行,服务端没有给客户端签名.
  3).在puppetmaster(puppet1)执行
  puppetca --list 查看有没有来验证签名的客户端
  puppetca -s puppet2 给客户端puppet2签名验证
  puppetca -s -a   给所有来服务端请求验证的客户端签名
  4).在服务端查看验证签名,注意前面的+号,说明已经签名
  小结(列出一些别的命令)
  使用yum的安装与配置比较方便,但puppet有很多的资源模块需要进一步研究,下面列出几个服务端和客户端常用命令
  1).puppetrun 用于连接客户端,强制运行本地配置文件,在默认安装puppet后puppetrun是不能使用,需要配置,如下:
  客户端
  /etc/puppet/puppet.conf 下添加
  
  listen = true
  
  /etc/puppet/auth.conf 在path /auth any字样上面添加
  path /run
  method save
  allow *
  
  /etc/puppet/namespaceauth.conf下
  
  allow *
  在服务端执行 puppetrunpuppet3(客户端名,需客户端服务puppet启动) 返回状态    有code 0,说明puppetrun配置成功

  2).客户端启动方式
  一般采用/etc/init.d/puppet start 这样启动 这样默认客户端30分钟会向服务端发请求,拉取配置文件,30分可以修改 /etc/puppet/puppet.conf中puppetd下 runinterval参数值 单位为秒
  如采用--no-client参数启动,及永不会向服务端主动请求,命令如下:
  puppetd --no-client--verbose --server puppet1 --no-daemonize --listen
  还可以加--debug 进入调试
  3).服务端命令
  puppetmasterd --genconfig > /etc/puppet/puppet.conf.default   可以生成默认配置文件
  puppetmasterd -d -v --no-daemonize          调试启动模式
  4).查看所有配置选项
  puppet –configprint --all
  
页: [1]
查看完整版本: puppet安装与使用--安装