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的安装

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

  1. 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。

  1. 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查看

  1. 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。

  1. 连接master的时候出现如下报错:

err: Could not request certificate: getaddrinfo: Name or service not known

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

  1. 连接master的时候出现如下报错:

warning: peer certificate won’t be verified in this SSL session

解决办法:服务端还没有返回签发证书,使用puppet cert –list查看

  1. 连接master的时候出现如下报错:

err: Could not retrieve catalog from remote server: certificate verify failed

解决办法:客户端和服务器端时间不同步,SSL连接需要依赖主机上的时间是否正确。执行更新时间的命令:/sbin/ntpdate asia.pool.ntp.org

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87564

(0)
sunhaosunhao
上一篇 2017-09-25 10:50
下一篇 2017-09-25 14:58

相关推荐

  • 0809行编辑器sed

    sed :Stream EDitor, 行编辑器  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或者使用-i选…

    Linux干货 2016-08-10
  • 运维练习题

     1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。TCP三次握手:客户端向服务器发送SYN包,客户端进入syn_SEND状态服务端收到客户端的发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态客户端收到服务器端返回的包再发ACK包,客户端进入ESTABLISHED状态,服务器收到包也进入ESTABLISHED状态客户…

    Linux干货 2016-06-12
  • MAN手册各章节功能介绍及快捷键键位整理

       初学linux ,请教别人的时候,遇到人不耐烦回答我等菜菜的问题,都会说一句,“自己去man”,“翻过man了吗,再来问吧”,哦,my gd,这个man到底是何方超人啊,其实man就是linux自带的文档,假如你不知道ls这个命令的用法,你可以试着敲入 man  ls  ,然后来看看,会有啥结果。效果不错吧,一般…

    Linux干货 2016-10-18
  • 数据库

    数据库系统理论概述(一) –本文主要讲述: – 1.数据库和数据库管理系统 – 2.使用传统的文件系统对大量数据管理存在的问题 – 3.常见的数据库系统模型 – 4.数据库视图 – 5.数…

    Linux干货 2016-10-30
  • 运维挖坑埋坑之旅—-413 Request Entity Too Large

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1575160        好久没写博文了,天天忙的喘不过来气。最近是该总结总结前段时间的工作了,顺便缓解下这两天的霉…

    Linux干货 2016-08-15
  • 马哥教育网络19期+第四周练习博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。  cp /etc/skel /home/tuser1  chmod -R  700 /home/tuser1 2、编辑/etc/group文件,…

    Linux干货 2016-06-19