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!

标签: