Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

CentOS 5.5 安装配置 Puppet 2.6 集中化配置管理:Master/Agent 部署全记录

編輯:關於 Linux

Puppet 是基于 Ruby 的声明式配置管理工具,采用 Master-Agent 架构。本文以 CentOS 5.5 为例,记录 EPEL 源安装、Ruby 依赖、Facter 与 Puppet 编译安装、Master 证书签名、Agent 加入与清单应用全流程。

一、环境准备(两台机器均执行)

# 安装 EPEL 源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

# 安装 Ruby 及依赖
yum install mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri

# 验证 Ruby 版本
ruby -v
# ruby 1.8.5 (2006-08-25) [i386-linux]

二、编译安装 Facter 与 Puppet(两台机器均执行)

# Facter
wget https://puppetlabs.com/downloads/facter/facter-1.5.9.tar.gz
tar zxvf facter-1.5.9.tar.gz
cd facter-1.5.9
ruby install.rb

# Puppet
wget https://puppetlabs.com/downloads/puppet/puppet-2.6.3.tar.gz
tar zxvf puppet-2.6.3.tar.gz
cd puppet-2.6.3
ruby install.rb

三、Master 端配置

  1. 部署配置文件
    mkdir /etc/puppet
    cp conf/auth.conf /etc/puppet/
    cp conf/redhat/fileserver.conf /etc/puppet/
    cp conf/redhat/puppet.conf /etc/puppet/
    cp conf/redhat/server.init /etc/init.d/puppetmaster
    chmod +x /etc/init.d/puppetmaster
    chkconfig puppetmaster on
  2. 创建 puppet 用户与目录
    groupadd puppet
    useradd -g puppet puppet
    puppetmasterd --mkusers
    mkdir /var/lib/puppet/rrd
    chown puppet:puppet /var/lib/puppet/rrd
  3. 启动 Master 服务
    /etc/init.d/puppetmaster restart
    # 首次启动生成 CA 证书、主机证书等

四、Agent 端配置

  1. 部署配置文件
    mkdir /etc/puppet
    cp conf/auth.conf /etc/puppet/
    cp conf/namespaceauth.conf /etc/puppet/
    cp conf/redhat/puppet.conf /etc/puppet/
    cp conf/redhat/client.init /etc/init.d/puppet
    chmod +x /etc/init.d/puppet
    chkconfig --add puppet
    chkconfig puppet on
  2. 创建 puppet 用户
    groupadd puppet
    useradd -g puppet puppet
    puppetd --mkusers
  3. 启动 Agent 首次运行(请求签名)
    /etc/init.d/puppet start
    # 或手动
    puppetd --test --server=master.example.com

五、Master 签名 Agent 证书

# 查看待签名证书
puppetca --list

# 签名指定主机
puppetca --sign agent.example.com

# 或签名全部
puppetca --sign --all

六、编写清单测试

# Master /etc/puppet/manifests/site.pp
node 'agent.example.com' {
    file { '/tmp/puppet_test':
        ensure => present,
        content => "Managed by Puppet at ${timestamp}\n",
    }
}
# Agent 下次运行自动应用

Puppet Master-Agent 架构示意图

完成 Master/Agent 部署与证书签名,Puppet 即可实现跨平台的声明式配置管理。现代版本(Puppet 6+)建议使用 puppetserver (JRuby) 替代旧版 Ruby Master,并通过 puppet agent -t 触发应用。

Copyright © Windows教程網 All Rights Reserved