puppet 簡單使用

環境:

OSCentOS release 6.5(Final)  32

Puppet3.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 即可同步文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章