|
注:所有安装都是通过apt来安装而非源码。版本为3.0.1
puppet安装好的配置目录为/etc/puppet
实例一(Hello word)
目录结构说明:
- .
- ├── auth.conf #
- ├── fileserver.conf #文件服务器配置文件
- ├── manifests #主文件所在目录
- │ └── site.pp #主文件(入口文件,必须有这个文件)
- ├── modules #各个模块所在目录
- ├── puppet.conf #主配置文件
- └── templates
site.pp配置:
- node default {
- file { “/tmp/test”:
- content=>”hello”,
- mode => 0644;
- }
- }
同时在agent上输入:sudo puppet agent --test, 查看agent的/tmp文件夹,生成了一个新文件test,里面的内容是hello,该文件的权限是-rw-r--r--。这样,便证明puppet安装成功。
实例二(只更新apt源):
- . #目录结构
- ├── auth.conf
- ├── fileserver.conf
- ├── manifests
- │ ├── nodes.pp
- │ └── site.pp
- ├── modules
- │ └── apt
- │ ├── files
- │ │ └── sources.list
- │ └── manifests
- ├── puppet.conf
- └── templates
各文件内容:
- #--site.pp
- import "nodes.pp"
- #--node.pp
- node 'agent1.com'{
- file { "/etc/apt/sources.list":
- ensure => file,
- source => "puppet:///modules/apt/sources.list",
- }
- }
- #--modules/apt/files/sources.list
- deb http://xxxx/ubuntu lucid main restricted universe multiverse
- deb http://xxxx/ubuntu lucid-security main restricted universe multiverse
- deb http://xxxx/ubuntu lucid-updates main restricted universe multiverse
- deb http://xxxx/ubuntu lucid-proposed main restricted universe multiverse
- deb http://xxxx/ubuntu lucid-backports main restricted universe multiverse
配置完成后在agent上输入:sudo puppet agent --test然后查看/etc/apt/sources.list是否是modules/apt/files/sources.list的内容。
注意:
- file { "/etc/apt/sources.list":
- source => "puppet:///modules/apt/sources.list",
- }
source 参数是这样约定的: puppet:/// 之后的第一部分假定是一个 挂装点(mount point) 名称,其余部份被视为一个文件路径,如下所示:
- puppet:///<mount point>/<path>
通常 <mount point> 的值是一个模块名称,如上例所示。在这个例子中, Puppet 将在如下的位置查找文件:
- modules/apt/file/sources.list
实例三(完整使用模块更新apt源):
- .
- ├── auth.conf
- ├── fileserver.conf
- ├── manifests
- │ ├── modules.pp
- │ ├── nodes.pp
- │ └── site.pp #可设置全局变量,参数缺省值 (当各个模块没有设置这些参数时,它们的缺省值)以及其它pp文件的调用
- ├── modules
- │ └── apt #apt 模块
- │ ├── files #该模块对应的文件资源,可能是要发送给slave的配置文件等
- │ │ └── sources.list
- │ └── manifests #模块的manifest文件
- │ └── init.pp #模块入口文件
- ├── puppet.conf
- └── templates
文件内容:
- #--site.pp
- import "nodes.pp"
- import "modules.pp"
- #--node.pp
- node 'agent1.com'{
- include apt
- }
- #--modules.pp
- import "apt"
- #--modules/apt/manifests/init.pp
- class apt {
- file { "/etc/apt/sources.list":
- ensure => file,
- source => "puppet:///modules/apt/sources.list",
- }
- }
配置完成后在agent上输入:sudo puppet agent --test然后查看/etc/apt/sources.list是否是modules/apt/files/sources.list的内容。 |
|
|