一、Puppet简介
Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理。Puppet适用于服务器管的整个过程 ,比如初始安装、配置更新以及系统下线。
二、Puppet的安装
Puppet的安装方式支持源码安装、yum安装以及ruby的gem安装。官网推荐使用yum来安装puppet,方面以后的升级、管理、维护。Centos可以采用yum来安装,但是Centos的默认源中没有puppet包,因此需要先安装epel包。Epel是企业版Linux附加软件包(Extra Packages for Enterprise Linux)的缩写,是一个由特别兴趣小组创建、维护并管理的,针对红帽企业版Linux(RHEL)及其衍生发行版(比如CentOS、Scientific Linux)的一个高质量附加软件包项目。
1. Master的安装
yum -y install ruby ruby-libs ruby-shadow
wget ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm
rpm -Uvh epel-release-5-3.noarch.rpm
yum -y install puppet puppet-server facter
2. Agent的安装
yum install ruby ruby-libs ruby-shadow
wget ftp://ftp.sunet.se/pub/Linux/distributions/yellowdog/yum/6.2/extras/RPMS/epel-release-5-3.noarch.rpm
rpm -Uvh epel-release-5-3.noarch.rpm
yum -y install puppet facter
至此如果安装过程不报错的话,puppet已经安装成功了。
三、Puppet的简单配置
1. Master的配置
先来看看puppet主目录下都有什么文件已经每个文件是做什么用的:
ls -1 /etc/puppet/
auth.conf #定义puppet master的acl文件
fileserver.conf #定义puppet master文件服务器的配置文件
manifests #puppet脚本主文件目录,site.pp文件必须存在
modules #puppet模块目录
puppet.conf #puppet主配置文件
ssl #存放ssl证书的目录
刚开始的话, puppet.conf不需要配置就可以满足。
需要更改hosts文件,注意hosts要和主机名对应。
vim /etc/hosts添加如下内容:
10.1.4.218 puppet.zhang.com puppet
10.1.4.213 node1.zhang.com node1
10.1.4.214 node2.zhang.com node2
大家要根据实际情况加,我这里是一个master,两个agent。
2. Agent的配置
Agent的配置主要是更改agent上的/etc/puppet/puppet.conf文件的[agent]部分。
在agent上vim /etc/puppet/puppet.conf 添加如下配置
server = puppet.zhang.com #master服务器的地址
runinterval = 3600 #每隔多久的时间进行自动更新,时间单位为秒
listen = true #客户端作为一个服务进行监听,允许其它的机器触发puppet运行允许远程触发puppet的节点配置
四、puppet的启动和停止
1. Master的启动和停止
Master的启动
/etc/rc.d/init.d/puppetmaster start
也可以以采用 service puppetmaster start启动
第一次启动建议采用puppet master --verbose --no-daemonize方式启动,有助于测试和调试错误,如果采用后面这种方式,你可以看到启动的整个过程,启动过程会做一些初始化的工作,为master创建本地证书认证中心,证书和key。并打开socket等待client的连接。你可以在/etc/puppet/ssl目录看到相关的文件和目录。
Master的停止
/etc/rc.d/init.d/puppetmaster stop
也可以以采用 service puppetmaster stop停止
更改多选项可以使用/etc/rc.d/init.d/puppetmaster –h查看
2. Agent的启动和停止
Agent的启动
/etc/rc.d/init.d/puppet start
也可以采用service puppet start来启动
调试的时候可以采用
puppet agent --server=puppet.zhang.com --no-daemonize –verbose
的方式来启动,这样启动我们可以看到agent是如何和master建立连接的。
Agent的停止
/etc/rc.d/init.d/puppet stop
也可以采用service puppet stop来停止。
五、FAQ
1. 连接master的时候出现如下报错:
dnsdomainname: Unknown host
解决办法:检查机器主机名的设置,以及是否添加进hosts。
2. 连接master的时候出现如下报错:
err: Could not request certificate: getaddrinfo: Name or service not known
解决办法:服务器端没有配置hosts域名绑定,在hosts中添加。
3. 连接master的时候出现如下报错:
warning: peer certificate won't be verified in this SSL session
解决办法:服务端还没有返回签发证书,使用puppet cert --list查看
4. 连接master的时候出现如下报错:
err: Could not retrieve catalog from remote server: certificate verify failed
解决办法:客户端和服务器端时间不同步,SSL连接需要依赖主机上的时间是否正确。执行更新时间的命令:/sbin/ntpdate asia.pool.ntp.org
转自 http://blog.chinaunix.net/uid-20639775-id-3312887.html
相关推荐
puppet安装与配置 puppet是一款开源自动化部署工具,下面介绍puppet安装和配置
随着数据中心服务器的增加,传统的系统维护方法有点捉襟见肘,于是出现了配置管理 软件,利用配置管理,可以把...下载manifest之后,可以根据manifest对服务器进行配置,例如软件包管理,用户管理和文件 管理等等。
### Puppet 入门详解 #### 1. Puppet 简介 ##### 1.1 Puppet 是什么?...掌握 Puppet 的基础知识和语法是成为高效系统管理员的关键之一。希望本文能够帮助您快速入门 Puppet,并在未来的工作中更好地应用它。
puppet,精通Puppet配置管理工具,学习puppet必备
在Puppet中,"环境"的概念是核心特性之一,它允许我们为不同的目的(如开发、测试和生产)设置独立的配置。本示例将详细介绍如何配置和管理Puppet环境,以及如何在这些环境中进行切换,确保开发和生产环境的隔离。 ...
Puppet 安装完成后还需要做一些基本的配置,主要包括配置文件的复制以及启动 Puppet 服务。 1. 复制配置文件: ```bash cp conf/redhat/fileserver.conf /etc/puppet/ cp conf/redhat/puppet.conf /etc/puppet/ ...
在本文中,我们将深入探讨如何在Red Hat Enterprise Linux 5.3 (64位)系统上安装和配置Puppet,包括服务端和客户端的设置。 首先,Puppet的安装需要Ruby作为前置条件。在RHEL 5.3上,可以通过添加EPEL仓库并使用`...
`site.pp`文件用于定义全局配置规则,是Puppet配置的核心。 综上所述,Puppet提供了一套强大而灵活的解决方案,用于集中化管理Linux/Unix系统。通过自动化配置、资源管理以及依赖关系处理,Puppet显著提升了大规模...
**解析**:客户端机器上需要安装Puppet客户端,以便能够与Puppet Server通信,执行配置文件。 #### 2. 运行Puppet Agent - **初始化连接**:`Puppet agent –no-daemonize –onetime –verbose –debug –server=...
puppet-rvm, 用于安装和使用 RVM ( ruby 版本管理器)的Puppet 模块 用于 ruby 版本管理器( RVM )的 Puppet 模块这个模块处理安装系统 RVM ( 也称为 root的多用户安装) 并使用它来安装红宝石和 Gems 。 还包括安装和...
HAProxy案例介绍如何利用Puppet配置负载均衡器,提高Web服务的可用性和性能。 ##### 8.4 Apache Traffic Server 探讨使用Puppet管理Apache Traffic Server的方法,实现内容分发网络(CDN)的自动化配置。 #### 九...
精通puppet 配置管理工具,扫描版。
《Pro Puppet》这本书为读者提供了深入学习Puppet配置管理系统的完整指南,不仅涵盖了基础概念和操作,还涉及了许多高级主题,如环境管理、扩展Puppet以及与第三方工具的集成。对于希望利用Puppet来提高工作效率、...
Puppet的学习和使用可以显著提升配置管理的效率和可靠性,使运维工程师能够专注于更高价值的任务。通过对Puppet原理和工具的掌握,IT专业人员可以提高自身竞争力,更好地适应互联网行业对DevOps工程师不断增长的需求...
精通Puppet配置管理工具.高永超.扫描版.pdf