簡體   English   中英

安裝puppet並安裝apache包問題

[英]Setup puppet and install apache package issues

出於測試目的,我想使用puppet在Ubuntu 16.4 puppet master上設置puppet和部署apache,而不必通過使用以下步驟來使用節點:

$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb

通過運行安裝包:

$ dpkg –i puppet5-release-xenial.deb

更新包列表

$ apt-get update

安裝puppet服務器

$ sudo apt-get install puppetserver

在我們的Puppet服務器上,安裝puppetlabs-apache模塊:

$ sudo puppet module install puppetlabs-apache

在manifests目錄中,需要創建一個init.pp類/etc/puppet/modules/apache/manifests/init.pp

class apache2 {
    package {'apache2':
          ensure => 'present',
    }
}

要嘗試安裝我使用的apache包:

$ sudo puppet apply init.pp

然后我得到以下內容:

Notice: Compiled catalog for osboxes.home in environment production in 0.03 seconds
Notice: Finished catalog run in 0.04 seconds

當我檢查是否安裝了apache時,它不是。

我哪里錯了?

如果您將Apache模塊放在正確的模塊路徑中,那么問題是您沒有任何代碼來包含該模塊。

為了簡單起見,讓我們忘記Puppet master上的文件結構等等,然后創建一個文件apache.pp(將它保存在/ tmp或你喜歡的任何地方)並給它這個內容:

class apache2 {
    package {'apache2':
        ensure => 'present',
    }
}

include apache2

現在嘗試:

$ sudo puppet apply apache.pp

你應該看到Puppet安裝了apache2包。

但是,按照慣例,以及與Puppet master的正確集成,您現在需要將此內容放在預期的文件位置中。

apache類(你已經擁有的代碼)需要在${modulepath}/apache2/manifests/init.pp文件中。

這是為了滿足Puppet的自動加載器 你可以在這里找到更多相關信息。

同時, 這里記錄了模塊路徑 ,它可以根據Puppet的版本以及如何設置所有內容而有所不同。

要找出你的模塊路徑,請嘗試:

$ sudo puppet config print modulepath

現在,如果您已准備好所有文件,那么您接下來應該能夠以不同的方式包含該類,如下所示:

$ sudo puppet apply -e "include apache2"

一旦你開始工作,就該閱讀有關角色和配置文件模式的時間了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM