云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Puppet初级入门

Puppet初级入门

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 16:14:38

庖丁解Puppet之

操作记实

Date:2012-02-20

Webside1:www.liuguohua.com Webside2:369369.blog.51cto.com QQ:59966284

系统环境: 服务器 nfstest testsns 软件包 软件包外 facter Puppet 环境安装:

Puppet 是用ruby语言写的,所以要安装ruby环境,服务器端与客户端都要安装,我这的环境是尽量最小化安装,都没有装ruby。要精细化安装的话,需要安装4个包。 [root@testsns ~]# yum –y install ruby*

精细化安装Ruby环境

1.puppet是基于ruby开发。所以要安装ruby语言环境。 找到相应版本对应的ruby的rpm包(下以redhat 5.4为例) rpm –ivh ruby-libs-1.8.5-5.el5_2.3.i386.rpm rpm –ivh ruby-1.8.5-5.el5_2.3.i386.rpm 2.Rdoc的安装。

如果需要查看帮助文档,需要安装此包。有一点特殊说明,此包在AS4上未找到相关的rpm。所以建议服务端使用5.0以上的版本。 rpm –ivh ruby-irb-1.8.5-5.el5_2.3.i386.rpm rpm –ivh ruby-rdoc-1.8.5-5.el5_2.3.i386.rpm

Server端安装 时间同步:

Ntpdate ntp.api.bz // time.nist.gov 192.168.133.10

安装Facter用来获取客户端系统信息(如hostname,ip,OS-Version,fqdn等)

下载地址 http://downloads.puppetlabs.com/facter/facter-1.6.5.tar.gz http://downloads.puppetlabs.com/puppet/puppet-2.6.13.tar.gz 备 注 OS系统 centos5.5 X64 centos5.5 X64 IP地址 192.168.133.42 192.168.133.44 备 注 Puppet client Puppet Server [root@testsns opt]# tar zxvf facter-1.6.5.tar.gz [root@testsns opt]# cd facter-1.6.5

[root@testsns facter-1.6.5]# ruby install.rb [root@testsns facter-1.6.5]# cd ..

[root@testsns opt]# tar zxvf puppet-2.6.13.tar.gz [root@testsns opt]# cd puppet-2.6.13

[root@testsns puppet-2.6.13]# ruby install.rb

[root@testsns puppet-2.6.13]# cp conf/auth.conf /etc/puppet/

[root@testsns puppet-2.6.13]# cp conf/redhat/fileserver.conf /etc/puppet/ [root@testsns puppet-2.6.13]# cp conf/redhat/puppet.conf /etc/puppet/

[root@testsns puppet-2.6.13]# cp conf/redhat/server.init /etc/init.d/puppetmaster [root@testsns puppet-2.6.13]# chmod +x /etc/init.d/puppetmaster [root@testsns puppet-2.6.13]# chkconfig --add puppetmaster [root@testsns puppet-2.6.13]# chkconfig puppetmaster on [root@testsns puppet-2.6.13]# mkdir -p /etc/puppet/manifests 生成pupput用户

[root@testsns opt]# puppetmasterd --mkusers 启动

[root@testsns opt]# /etc/init.d/puppetmaster start

Slave端安装 时间同步:

Ntpdate ntp.api.bz

和服务器端安装方法一样,先安装ruby环境,再安装facter和puppet,只是在puppet拷贝配置文件时要注意。

安装Facter用来获取客户端系统信息(如hostname,ip,OS-Version,fqdn等) [root@testsns opt]# tar zxvf facter-1.6.5.tar.gz [root@testsns opt]# cd facter-1.6.5

[root@testsns facter-1.6.5]# ruby install.rb [root@testsns facter-1.6.5]# cd ..

[root@testsns opt]# tar zxvf puppet-2.6.13.tar.gz [root@testsns opt]# cd puppet-2.6.13

[root@nfstest puppet-2.6.13]# ruby install.rb

[root@nfstest puppet-2.6.13]# cp conf/auth.conf /etc/puppet/

[root@nfstest puppet-2.6.13]# cp conf/namespaceauth.conf /etc/puppet/ [root@nfstest puppet-2.6.13]# cp conf/redhat/puppet.conf /etc/puppet/ [root@nfstest puppet-2.6.13]# cp conf/redhat/client.init /etc/init.d/puppet [root@nfstest puppet-2.6.13]# chmod +x /etc/init.d/puppet [root@nfstest puppet-2.6.13]# vi /etc/puppet/puppet.conf --- [agent]

Listen = true

Server = testsns ---

[root@nfstest puppet-2.6.13]# vi /etc/puppet/namespaceauth.conf ----

[fileserver] allow * [puppetmaster] allow * [puppetrunner] allow * [puppetbucket] allow * [puppetreports] allow * [resource]

allow * ----

[root@nfstest puppet]# puppetmasterd --mkusers [root@nfstest puppet]# /etc/init.d/puppet start

修改双方的/etc/hosts文件,添加各自的IP地址对应的主机名,生产环境做内部DNS比较好,不用修改每台服务器的hosts文件。 192.168.133.42 nfstest 192.168.133.44 testsns

关闭双方的防火墙及selinux,或开放8140(server服务器端口),8139(client服务器端口)。相互作ping hostname telnet hostname 8140 test hostname 8139等,看网络及hosts是否正常

认证:

客户端发送请求

Puppeted --test –server testsns

服务器查看 Puppetca –list 服务器端签名

Puppetca –s –a //对所有客户端全部签名 Puppetca –s nfstest //只签名某个客户端

功能模块介绍及实例操作

文件传输:

文件分发:

通过puppet可以向被管理机上推送文件,方法是使用file类型的source属性

第一步:修改/etc/puppet、fileserver.conf 第二步:修改/etc/puppet/manifests/ site.pp 实例:要把server服务器上/opt目录下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz传输至client服务器的/opt目录下,文件名不变。 第一步:Vi /etc/puppet/fileserver.conf [files] path /opt/

allow 192.168.133.0/24

第二步:vi /etc/puppet/manifests/site.pp file

{ \

source => \}

第三步:

在client客户端执行更新命令 puppetd --test --server testsns

此处“$puppetserver”是puppet Server端的名称,即hostname,网上教程都是在hosts里指定,生产环境下用内部的DNS上作解析,像我公司一个www平台就有70台linux服务器,一个个添加hosts,不搞死人去。

修改文件属性:

目的:把/tmp/dd142/ puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为666 第一步:编辑Server端的site.pp vi /etc/puppet/manifests/site.pp --- file

{ \ owner => \ group => \ mode => 666, } ----

第二步:在client端执行命令 puppetd --test --server testsns

执行SHELL命令或shell脚本:

实例:通过puppet分发执行shell脚本,在客户端的opt目录下新建一目录shelldir。 第一步:编辑Server端的site.pp vi /etc/puppet/manifests/site.pp

exec { \cwd => \

command => %user => \

path => \}

第二步:在client端编辑一shell脚本 Vi /opt/lgh.sh #!/bin/bash

mkdir /opt/shelldir

第三步:在client端执行命令 puppetd --test --server testsns

在/opt目录下查看shelldir有没有建立。

服务检查及修改:

可以通过puppet对一些服务进行检查。puppet是通过service命令操作的。所以,只能针对在/etc/init.d/目录下的服务

实例:把客户端的防火墙起来(原来是关闭的)

vi /etc/puppet/manifests/site.pp //清空site.pp,再新建

service

{ iptables:

ensure => \

}

cron计划任务:

接上面的shell程序实例,在17:30执行/opt/lgh.sh。

cron { \部分,可用来作为注释。 command => \ #要执行的命令

user => \#添加到root用户下的crontab中 minute => \ #即第一个星号 hour => \ #即第二个星号 }

搜索更多关于: Puppet初级入门 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

庖丁解Puppet之 操作记实 Date:2012-02-20 Webside1:www.liuguohua.com Webside2:369369.blog.51cto.com QQ:59966284 系统环境: 服务器 nfstest testsns 软件包 软件包外 facter Puppet 环境安装: Puppet 是用ruby语言写的,所以要安装ruby环境,服务器端与客户端都要安装,我这的环境是尽量最小化安装,都没有装ruby。要精细化安装的话,需要安装4个包。 [root@testsns ~]# yum –y install ruby* 精细化安装Ruby环境 1.puppet是基于ruby开发。所以要安装ruby

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com