puppet file資源配置

puppet中如果資源比較多的話,定義模塊和類是比較方便的方式之一,在使用了模塊之後,需要在manifests文件中定義入口文件和節點的清單文件。但是如果想要實現的功能比較簡單的話,可以直接將內容定義到site.pp文件中,不過這樣會顯得site.pp文件會顯得過於的冗長。

在實際生產中,我線上的puppet只是用來同步一些文件和賬號,下面簡明介紹下puppet的設置。

cat site.pp

group {'username':

  ensure => present,

}

user { 'username':

   ensure           => 'present',

   home             => '/home/username',

   managehome       => true,

   password         => ‘******’

   password_max_age => '99999',

   password_min_age => '0',

   shell            => '/bin/bash',

   require          => Group['username'],

 }

file_line { 'username':

  path => '/etc/sudoers',

  line => 'username ALL=(ALL)      ALL',   

}

file_line這個資源實現的是保證某個配置文件中確定要包含某一行的數據。但是file_line沒有默認安裝,需要安裝一個標準庫。puppet module install puppetlabs-stdlib,安裝上之後,就可以使用了。

下面創建一個file資源

file { "/etc/yum.repos.d/epel.repo":

    ensure => "present",

    owner => "root",

    group => "root",

    source => "puppet:///soft/files/epel.repo",

    mode => 755,

}

在使用file資源時,source的屬性格式爲puppet:///modules/module_name/file_name,但是現在並沒有使用模塊,這個soft是從何而來呢。

/etc/puppet目錄下,有一個配置文件叫做fileserver.conf,我們可以通過定義這個配置文件來進行文件目錄的定義

將下面的代碼添加到配置文件中去。

[soft]

path /etc/puppet/manifests

allow *

之後在/etc/puppet/manifests這個目錄下面創建files文件,然後將我們所需的文件在此創建。我們就能使用這個路徑進行文件資源的引用了,從而不必通過模塊的方式。


發佈了166 篇原創文章 · 獲贊 16 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章