一、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主目录下都有什么文件已经每个文件是做什么用的: 刚开始的话, 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启动 第一次启动建议采用puppet master --verbose --no-daemonize方式启动,有助于测试和调试错误,如果采用后面这种方式,你可以看到启动的整个过程,启动过程会做一些初始化的工作,为master创建本地证书认证中心,证书和key。并打开socket等待client的连接。你可以在/etc/puppet/ssl目录看到相关的文件和目录。 Master的停止 也可以以采用 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 (责任编辑:IT) |