Puppet搭建笔记


一:介绍

puppet用于集中管理多台服务器的file、package、server、cron、user、group、exec(执行shell命令)、yumrepo等常用资源的C/S结构软件

 

二:puppet工作流程

  1. puppet客户端通过facter收集客户端信息(主机名、内存、IP地址、系统信息……)并发送给服务端

  2. 服务器端检测到客户端的主机名,然后到manifest里面解析对应的node配置(语法检测、生成伪代码、发送伪代码给客户端),只解析改节点的配置

  3. 客户端接收到代码后执行,然后客户端把执行结果传递给服务器端

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

     

 

三:安装配置

puppet server:192.168.1.10    master.puppet.com

puppet agent:192.168.1.11    agent.puppet.com

主机名和IP必须解析,可以手动修改hosts文件或使用DNS解析

 

  1. 配置epel源:

    rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

  2. puppet server上操作:

    yum install puppet-server -y

     

    生成配置文件:

    puppet master --genconfig > /etc/puppet/puppet.conf

    touch /etc/puppet/manifests/site.pp

    该文件相当于一个索引文件,记录载入agent配置,也可定义全局变量

    例:

    cat /etc/puppet/manifests/site.pp

    import 'nodes.pp'

    import 'nodes/*.pp'

    $puppetserver='master.puppet.com'

  3. puppet agent上操作:

    yum install puppet -y

    vim /etc/puppet/puppet.conf

    在main中添加

    server = master.puppet.com(master主机名,必须可以ping通,绑hosts或dns解析)

    在agent中添加

    runinterval = 10(向master查询间隔时间,单位秒)

     

 

四:测试

    puppet server第一次启动:

    puppet master --verbose --no-daemonize

 

    puppet agent第一次启动:

    puppet agent --server=master.puppet.com --no-daemonize --verbose --noop --onetime

 

    会报错没有认证,在CA服务器上运行(这里CA和puppet server在一台上):

    puppet cert --list 显示没有授权的客户端

    puppet cert --sign agent.puppet.com

 

    再次运行启动命令正常,则分别开启服务

    /etc/init.d/puppetmaster start

    chkconfig puppetmaster on

 

    /etc/init.d/puppet start

    chkconfig puppet on

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用

Puppet学习二:简单模块配置和应用

有关Puppet agent端三种备份恢复方案探讨研究
选择更安全的方式注册你的Puppet节点
通过配置SSH深刻理解Puppet的语法及工作机制
Puppet利用Nginx多端口实现负载均衡
CentOS(5和6)下Puppet的C/S模式实例

Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里

本文永久更新链接地址:

 

相关内容