puppet的使用:puppet的hello world

这个例子完成将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/

生成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文件了。

posted @ 2017-02-25 20:14  崔咩咩  阅读(606)  评论(0编辑  收藏  举报