您的位置:首页 > 运维架构 > Linux

Puppet 实验四 文件测试

2018-09-16 22:40 507 查看
创建测试站点
mkdir -p /etc/puppet/modules/test/{manifests,templates,files}



定义一个类,然后在tmp目录中创建主机名。txt的文件,然后内容hello world
puppet的资源=ansible角色,puppet的类=ansible模块,这样可能会更加容易理解一点,共同点都是2者都是类似于powershell 的DSC强制一致性配置。
vi /etc/puppet/modules/test/manifests/init.pp
class test {
file { “/usr/tmp/$hostname.txt": content => "Hello world, Hello Pcdog"; }
}

模块文件定义了$hostname,需要传参数给ERB 模块文件,主机变量名通过facter命令获取,传给puppetagent.pp的资源配置文件
vi /etc/puppet/modules/test/templates/test.erb
hostname <%= fqdn %>

类应用到哪一个服务器/节点
mkdir /etc/puppet/manifests/nodes
vi /etc/puppet/manifests/nodes/puppetagent.pp
node 'puppetagent' {
include test
}

测试节点加入puppet,修改site.pp
vi /etc/puppet/manifests/site.pp
import "nodes/puppetagent.pp"
如果有多个pp文件可以写
import "nodes/*.pp"

检查配置,服务器端
puppet parser validate /etc/puppet/modules/test/manifests/init.pp
puppet agent --test --server puppetmaster --noop



客户端测试
puppet agent --test --server puppetmaster --noop



去掉noop直接执行
puppet agent --test --server puppetmaster



目录下文件和内容已经有了




多对多的关系如下,由此可以推算,节点可以应用多个类和模块,从而获得多个服务器角色

全局配置
模块

节点
site.pp
module
file.pp
class.erb
node
hostname.pp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统 运维 Linux