Centos6.3下Puppet功能模块实例笔记-阿里云开发者社区

开发者社区> 技术小胖子> 正文

Centos6.3下Puppet功能模块实例笔记

简介:
+关注继续查看

之前的博文介绍了Puppet的初始安装配置:

传送门:http://showerlee.blog.51cto.com/2047005/1205752


今天来介绍Puppet的具体实用功能,其实我的理解就是怎么偷懒,呵呵。


1.填充文件内容:


(server):

修改server端配置文件:

# vi /etc/puppet/manifests/site.pp

-----------------

node default{

 file { "/tmp/test":

         content=> "this is a test file";

}

}

-----------------


重启puppetmaster,更新配置文件信息。

# service puppetmaster restart


(client):


重启puppet(可不用重启)

# service puppet restart


同步文件:

# puppetd --server server.example.com  --test

------------------

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

info: Caching certificate for client.example.com

info: Caching certificate_revocation_list for ca

info: Caching catalog for client.example.com

info: Applying configuration version '1369124449'

notice: /Stage[main]//Node[default]/File[/tmp/test]/ensure: defined content as '{md5}100b144907af2a4786003758a0a6a563'

info: Creating state file /var/lib/puppet/state/state.yaml

notice: Finished catalog run in 0.02 seconds

------------------


查看/tmp/test文件及文件内容


# cat /tmp/test

-----------

this is a test file

-----------


2.文件分发:


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

1:修改/etc/puppet/fileserver.conf

2:修改/etc/puppet/manifests/site.pp


实例:要把server服务器上/root目录下的puppet-2.6.13.tar.gz传输至client服务器的/tmp目录下,文件名不变。


# vi /etc/puppet/fileserver.conf

----------------

[files]

path /root

allow 192.168.7.0/24

----------------


# vi /etc/puppet/manifests/site.pp

添加到node default{}内:

---------------

  file { "/tmp/puppet-2.6.13.tar.gz":

          source => "puppet://$puppetserver/files/puppet-2.6.13.tar.gz",

}

---------------

重启poppetmaster服务

# service poppetmaster restart


(client):


执行更新命令

# puppetd --test --server server.example.com


此处“$puppetserver”是puppet Server端的名称,即本机hostname,网上教程都是在hosts里


指定,生产环境下建议用内部的DNS上作解析




3.修改文件属性:


实例:把/tmp/puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为777。


(server):


# vi /etc/puppet/manifests/site.pp

在source后添加:

---------------

file { "/tmp/puppet-2.6.13.tar.gz":

          source => "puppet://$puppetserver/files/puppet-2.6.13.tar.gz",

          owner => "puppet",

          group => "puppet",

          mode => 777,

  }

--------------


重启poppetmaster服务

# service poppetmaster restart


(client):


执行更新命令

# puppetd --test --server server.example.com




4.执行SHELL命令或shell脚本:


实例:通过puppet分发执行shell脚本,在客户端的/tmp目录下执行test.sh脚本,该脚本实现在本目录创建一个testfile文件。


(server):


首先创建一个shell脚本test.sh,并保存在/etc/puppet/fileserver.conf配置文件中设置


的/root目录下

# cd /root

# vi test.sh

---------------

#!/bin/bash

/bin/touch /tmp/testfile

---------------

重启poppetmaster服务

# service poppetmaster restart


(client):


执行更新命令

# puppetd --test --server server.example.com


设置文件分发和权限分配:


# vi /etc/puppet/manifests/site.pp

添加到node default{}内:

----------------

file { "/tmp/test.sh":

          source => "puppet://$puppetserver/files/test.sh",

          owner => "puppet",

          group => "puppet",

          mode => 755,

  }


exec { "exec-mkdir":

          cwd => "/tmp",

          command => "sh /tmp/test.sh",

          user => "puppet",

          path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",

  }

----------------

重启poppetmaster服务

# service poppetmaster restart


(client):


执行更新命令

# puppetd --test --server server.example.com

# ll /tmp

----------------------

.....

-rw-r--r--  1 puppet root         0 5月  22 09:28 testfile

-rwxr-xr-x  1 puppet puppet      37 5月  22 09:28 test.sh

----------------------


5.服务启动及关闭:


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


实例:把客户端的iptables服务关闭,并把nfs服务启动


# vi /etc/puppet/manifests/site.pp


添加到node default{}内:

---------------------

service {

           "postfix":

            ensure => stopped;

           "nfs":

            ensure => running;

          }

--------------------

重启poppetmaster服务

# service poppetmaster restart

(client):


执行更新命令

# puppetd --test --server server.example.com



6.cron计划任务:


接上面的shell程序实例,在10:27执行test.sh


# vi /etc/puppet/manifests/site.pp

添加到node default{}内:

-----------------

cron { "cron-shell":

           command => "sh /tmp/test.sh",

           user => "puppet",

           minute => "27",

           hour => "10"

  }

-----------------


(client):


执行更新命令

# puppetd --test --server server.example.com


     本文转自 showerlee 51CTO博客,原文链接:http://blog.51cto.com/showerlee/1206540,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Shell脚本单实例运行|学习笔记
快速学习Shell脚本单实例运行
41 0
C#实现ADSL拨号功能及扩展
今天在园子里的博问中,看到一个关于打开和断开网络链接的提问。正好自己以前写过一个类似的程序,现在分享给大家。 这个简单的程序可以实现使用河南网通ADSL的帐户进行拨号、断开的功能,在Vista和XP系统中可以正常使用,其他系统未测试。
698 0
Python零基础学习笔记(八)—— 数学功能
一定要导入math包,不然后面会报错 今日学习部分及执行结果如下图import math # abs() 返回数的绝对值 a1 = -10 a2 = abs(a1) print(a2) #比较两个数的大小 a3 = 10 a4 = 9 print((a3>a4)-(a3<a4)) # max(...
1670 0
实例 : Linux系统 centos8 文件打包、解包、压缩、解压缩
Linux 系统环境文件打包、解包、压缩、解压缩
51 0
阿里云突发性能实例T5升级baseline新版评测,基于CPU20%性能
T5突发性能购买活动链接:https://www.aliyun.com/product/ecs?aly_as=kNATfj3Y&source=5176.11533457&userCode=8giwrppt&type=copy最近收到阿里云官方邀请,评测阿里云突发性能T5系列,此次新版本是由原来CPU基线的10%升级到20%,在性能上有所升级,这次评测我们以一个网站开发,以一个使用者进行来评测。
2468 0
使用AppFabric 承载WCF和WF服务-实例分析和说明
针对Pro Windows Server AppFabric ISBN-13 (pbk): 978-1-4302-2817-2图书中的例子进行修改和分析 这个例子的应用场景如下: 前端是Asp.
776 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载