puppet的安装和配置
Puppet 学习之puppet 的安装和配置一、Puppet 简介Puppet 基于ruby 语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX 及类UNIX 系统的配置管理
Puppet 学习之puppet 的安装和配置
一、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的安装

2. Agent的安装

至此如果安装过程不报错的话,puppet 已经安装成功了。
三、Puppet 的简单配置
1. Master的配置
先来看看puppet 主目录下都有什么文件已经每个文件是做什么用的: ls -1 /etc/puppet/


刚开始的话, puppet.conf不需要配置就可以满足。
需要更改hosts 文件,注意hosts 要和主机名对应。
vim /etc/hosts添加如下内容:
大家要根据实际情况加,我这里是一个master ,一个agent 。
2. Agent的配置
Agent 的配置主要是更改agent 上的/etc/puppet/puppet.conf文件的
[agent]部分。
在agent 上vim /etc/puppet/puppet.conf 添加如下配置
,


四、puppet 的启动和停止
1. Master的启动和停止
Master 的启动

也可以以采用 service puppetmaster start启动
Master 的停止

也可以以采用 service puppetmaster stop停止
更改多选项可以使用/etc/rc.d/init.d/puppetmaster –h 查看
2. Agent的启动和停止
Agent 的启动
也可以采用service puppet start来启动
Agent 的停止
也可以采用service puppet stop来停止。
,五、puppet 使用
puppet 客户端发送证书
#客户端第一次启动向服务端发送证书,要求签好之后才能通信

正常提示信息:
info: Creating a new SSL key for client.puppet.com
info: Caching certificate for ca
info: Creating a new SSL certificate request for node.innofidei.com info: Certificate Request fingerprint (md5): 74:34:A9:DC:F6:52:B4:96:D1:FF:D3:68:F6:E5:7B:DE
Exiting; no certificate found and waitforcert is disabled
puppet 服务端签证书


正常提示信息:
notice: Signed certificate request for node.innofidei.com
notice: Removing file Puppet::SSL::CertificateRequest client.puppet.com at '/var/lib/puppet/ssl/ca/requests/node.innofidei.com.pem'
下面是一个文件同步的例子
puppet 服务端
,



到这里为止puppet 的服务端已经设置好了
,puppet 客户端

六、FAQ
1.

连接master 的时候出现如下报错:
解决办法:检查机器主机名的设置,以及是否添加进hosts 。 2. 连接master 的时候出现如下报错:

解决办法:服务器端没有配置hosts 域名绑定,在hosts 中添加。 3.

连接master 的时候出现如下报错:
解决办法:服务端还没有返回签发证书,使用puppet cert list查看 4. 连接master 的时候出现如下报错:

可能时间不同步, 可能本地证书有更新需要清空,可能主机名冲突
解决办法:客户端和服务器端时间不同步,SSL 连接需要依赖主机上的时间是否正确。
更改本机时区设置:
vi /etc/sysconfig/clock
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
,执行更新时间的命令:/sbin/ntpdate asia.pool.ntp.org
解决办法:本地证书失效, 删除客户端证书并重新连接服务端:rm -rf /var/lib/puppet/ssl/
解决办法:设置主机名:vim /etc/sysconfig/network
5. 连接master 的时候出现如下报错:

解决办法:关闭防火墙:/etc/init.d/iptables stop
6. 连接master 的时候出现如下报错:

服务端hostname 有误,解决办法:检查server 端的hostname!