xinjiang 发表于 2018-8-2 11:09:33

puppet 简单使用

  环境:

  OS:CentOS>  Puppet:3.7.0
  Puppet 安装
  Server:
  rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
  yum install puppet-server
  client
  rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
  yum install puppet
  修改/etc/puppet/puppet.conf文件
  在agent部分加上
server = puppet#puppet server 主机名,可绑定hosts  
runinterval = 3600
  
listen = true
  启动
  Server:/etc/init.d/puppetmasterstart
  Client: /etc/init.d/puppet start
  查看授权情况:puppet cert list --all
  给client授权:puppet cert sign node2#node2为客户端主机名
  Puppet测试
  创建site.pp并输入以下内容
  vim /etc/puppet/manifests/site.pp
node default {  
file {"/tmp/test.txt":
  
content=>"this is a test\nHello World!\n";}
  
}
  重启master:/etc/init.d/puppetmaster restart
  在客户端执行:puppet agent --test 在tmp目录下有test.txt文件并有上面的内容,代表执行成功
  Node定义:
  在site.pp中为每个主机名定义一个node,这样客户端就会只同步自己node下的东西,node default 将会被所有客户端同步。
node node2 {  
    include"test::test2"
  
    import"node2.pp"
  
}
  Node2.pp
file {'node2file':  
      path    => '/tmp/node2file',
  
      ensure=> present,
  
      mode    => 0640,
  
      content => "I'ma test file.",
  
}
  添加module
  首先在puppet.conf中定义module位置,如果不定义,将使用默认位置
  在main部分定义
  modulepath =/etc/puppet/modules:/var/lib/puppet/modules
  mkdir /etc/puppet/modules/test/manifests
  cd /etc/puppet/modules/test/manifests
  vim test2.pp
class test::test2 {  
    file{"/tmp/other.txt":
  
      path    => '/tmp/other.txt',
  
      ensure=> present,
  
      mode    => 0640,
  
      content => "I'm atest file.",
  
    }
  
}
  mkdir /etc/puppet/modules/video/manifests
  mkdir /etc/puppet/modules/video/files
  touch /etc/puppet/modules/video/files/aa.conf
  cd /etc/puppet/modules/video/manifests
  vim init.pp
class video {  
    file{"/tmp/ok.txt":
  
      path    => '/tmp/ok.txt',
  
      ensure=> present,
  
      mode    => 0640,
  
      content => "I'm atest file.",
  
    }
  

  
    file {"aa.conf":
  
      path   => '/tmp/aa.conf',
  
      ensure=> file,
  
      source =>"puppet:///modules/video/aa.conf",
  
    }
  
}
  在site.pp中使用如下代码调用:
node node2 {  
    include"test::test2"
  
    include "video"
  
}
  在客户端执行:puppet agent –t 即可同步文件
页: [1]
查看完整版本: puppet 简单使用