这个例子完成将master节点上的一个文件放至agent节点上的功能

创建要传输的文件

echo “helloWorld” > /etc/puppet/modules/puppet-example/files/hello

不使用module

创建site.pp

直接把对agent的操作写入site.pp文件中。

touch /etc/puppet/manifests/site.pp

内容如下:

 node 'agentHostname' {
file { '/root/tmp/hello':
owner => 'root',
group => 'root',
mode => '0440',
source => 'puppet:///modules/puppet-example/hello'
}
}

启动agent

在agent上执行如下命令:

puppet agent --test

就会看到/root/tmp/hello文件了。

使用module

创建module

module的目录结构是固定的,目录的结构一般如下所示:

├── files

├── manifests

└── templates

  • files: 属于模块的文件

  • manifests: 脚本文件

  • templates:模板文件

    md -p /etc/puppet/modules/puppet-example/{files,templates,manifests}

生成init.pp文件

init.pp是模块必须要有的文件,放至在模块的manifests路径下。

touch /etc/puppet/modules/puppet-example/manifests/init.pp

class puppet-example {
file { '/root/tmp/hello':
owner => 'root',
group => 'root',
mode => '0440',
source => 'puppet:///modules/puppet-example/hello'
}
}

生成site.pp文件

touch /etc/puppet/manifests/site.pp

内容如下:

node 'agentHostname' {

include puppet-example

}

至此,文件全部创建完毕。

目录结构

最终的目录结构如下所示:

/etc/puppet# tree

├── manifests
│   └── site.pp
├── modules
│   └── puppet-example
│   ├── files
│   │   └── hello
│   ├── manifests
│   │   └── init.pp
│   └── templates
└── templates

启动agent

在agent上执行如下命令:

puppet agent --test

就会看到/root/tmp/hello文件了。

puppet的使用:puppet的hello world的更多相关文章

  1. Puppet简易入门

    一.查看官方提供的下载源 https://docs.puppet.com/guides/puppetlabs_package_repositories.html 二. 选择对应系统的下载源 因为本机是 ...

  2. 配置管理工具 Puppet的安装和使用

    今天碰到一个linux下的puppet的问题,才发现原来这个是 用ruby语言编写的自动化的管理工具.有兴趣的同学,可以学习下. 这里重点讲述下 mac下 puppet的安装方法: 在Mac下采用Gi ...

  3. [翻译]用 Puppet 搭建易管理的服务器基础架构(2)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第二部分. 原文地址:http://blog.jobbole.com/87680/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...

  4. [翻译]用 Puppet 搭建易管理的服务器基础架构(1)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第一部分. 原文地址:http://blog.jobbole.com/87679/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...

  5. Puppet安装及部署

    本篇博客主要介绍Puppet的安装部署,后续会更新其他相关内容 一.简介 二.环境介绍 三.安装Puppet 四.配置Puppet-dashboard 五.配置Puppet Kick 一.简介 Pup ...

  6. 运维自动化工具---Puppet

    案例环境:-----------------------------------------------------------------主机  操作系统   IP地址  主要软件--------- ...

  7. 烂泥:puppet添加带密码的用户

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前一篇文章,我们介绍了有关puppet3.7的安装与配置,这篇文章我们再来介绍下如何利用puppet添加带密码的用户. 要通过puppet添加带密码的用 ...

  8. puppet的配置

    1时间问题 agent与master端务必要保持时间的一致性,最好使用ntp服务 检查ntp服务是否安装 [root@master-elk ~]# rpm -qa|grep ntp ntpdate-. ...

  9. puppet安装

    server  xuesong1     10.152.14.85 client  xuesong      10.152.14.106   系统centos5.8   两台配置都配置 /etc/ho ...

  10. puppet 安装

    yum源配置 1. wget http://ftp.kaist.ac.kr/fedora//epel/6/i386/epel-release-6-8.noarch.rpm 2. yum list | ...

随机推荐

  1. C++主流编译器整理(编译器版本--供应商--C++11支持情况)

    C++标准   年份 C++标准                俗称   备注 2011 ISO/IEC 14882:2011     C++11  第三个C++标准 2007 ISO/IEC TR ...

  2. Git安全配置

      今天收到了阿里云异地登录的短信报警,登录阿里云后台发现,有人从深圳登录了我的服务器(本人在北京),查看详细信息一共登录了5次,前两次是使用的git用户进行登录,后两次已经变成了root用户,怀疑是 ...

  3. radom

    radom模块提供了随机生成对象的方法 Help on module random: NAME random - Random variable generators. FILE /usr/local ...

  4. ES6 学习笔记之四 对象的扩展

    ES6 为对象字面量添加了几个实用的功能,虽然这几个新功能基本上都是语法糖,但确实方便. 一.属性的简洁表示法 当定义一个对象时,允许直接写入一个变量,作为对象的属性,变量名就是属性名. 例1: , ...

  5. asp.net使用SpeechSynthesizer类生成语音文件部署到iis遇到的几个坑

    首先需要引入命名空间System.Speech.Synthesis,代码如下: using (var speechSyn = new SpeechSynthesizer()) { speechSyn. ...

  6. SL 的 DATAGRID中如何加入计算列?

    例如,我的数据库中实体表对应到EF中的实体类是 class { public int  F1; public int F2; } 我在服务端做domainservice 我在SL端使用wcf ria, ...

  7. Android-------------fragment的学习

    一.fragment的静态使用 1.使用步骤:    a.继承fragment   重写onCreatevVew()的回调方法 b.设置Fragment的布局 c.在Activity中声明Fragme ...

  8. Android Studio - 如何停止logcat不断滚动信息?

    今天升级了一下Android Studio,升级之后准备调试程序,发现logcat里面不断滚动各种信息,我想调试程序非常困难了!滚动信息截图: 如何阻止自动出现的各种滚动信息,只显示我正在开发工程的调 ...

  9. 虚拟安装centos后无法上网、DNS无法解析问题解决

    1.保证拟机ip和VMnet8的ip在同一网段内 2.虚拟机网关和VMnet8相同

  10. Segment Tree-732. My Calendar III

    Implement a MyCalendarThree class to store your events. A new event can always be added. Your class ...