簡體   English   中英

我應該用傀儡走多遠?

[英]How far should I go with puppet?

我想先說我是傀儡的新手。 我一直在通過vagrant ,我開始覺得寫作清單很舒服,但我缺乏可以回答我的問題的經驗或直覺。

我試圖了解木偶的范圍,以及繪制線條的位置。 我特別感興趣的是它如何適用於模塊及其創建和使用。

一個更具體的例子: puppletlabs-nginx模塊。 所以假設我正沿着我的快樂方式,為給定的服務器角色創建一個清單; 說這是一個簡單的靜態文件網絡服務器,我想使用nginx 該模塊顯然將幫助我; try_files支持等。 我甚至可以通過這個模塊進行反向代理。 但是如果事情變得更加棘手呢? 如果我想以編程方式執行某些操作而無法使用該模塊,該怎么辦?

好吧,或許簡短的回答是自己解決,做一個拉動請求,並以我的快樂方式。 但那又停在哪里了? 社區木偶模塊的目標是支持給定軟件包的每個方面嗎? 這似乎難以管理。 另一方面,是不是會創建一堆大部分出爐的模塊,僅僅根據用例構建?

然后,有一個類似於Android UI:我認為最常見的XML UI定義有setter方法。 在木偶中如果感覺相似。 您可以通過編程方式構建配置文件,也可以通過填寫ERB模板來創建配置文件。 換句話說,我覺得配置文件的程序化創建和配置文件的模板化創建之間的木偶線是模糊的; 我找不到Android的最佳方式,因此我不知道哪種方式可以使用木偶。

那么,問題是:什么構成理想的木偶模塊? 它應該更多地依賴模板嗎? 在清單? 它應該考慮所有配置方案嗎?

從進一步退縮的角度來看,我似乎想要一些更有見解的東西。 Puppet的力量似乎是靈活性和抽象性,但那里的模塊感覺不一致而不是充實。

謝謝閱讀...

感謝Mark。 在很短的時間內,我已經轉而與廚師一起玩,而且模塊似乎在我提出的許多問題上都更好。

總之,我可以向你解釋傀儡。

Puppet不過是一個IT自動化工具,我們可以通過在master上創建清單(配方或腳本)來安裝在目標機器上的軟件,從而在其他機器上安裝軟件。 這里master表示軟件的puppet清單的實現。 目標機器指示要安裝軟件的代理程序。

Puppet模塊由以下結構構成,我們在master中執行此操作。

在master中路徑是/ etc / puppet / modules進入模塊目錄,你已經提到過puppletlabs-nginx module.so現在我們可以把這個模塊作為一個例子。

在模塊目錄之后,我們必須創建文件並顯示目錄。此外,在清單目錄中我們將創建.pp文件。例如,install.pp,uninstall.pp.this是模塊結構的方式。我們通常使用這些腳本運行包,服務,文件,執行等資源很少。

模板在木偶清單中起着次要的作用,只是為了塑造價值觀。它不是木偶的主要部分。清單在木偶中具有重要意義。

為了使用puppet自動化任何軟件,我們可以遵循上述結構。

謝謝。

這里的PuppetLabs解決方案是為每個功能使用不同類型的模塊 - 組件,配置文件和角色。 有關詳細信息,請參閱演示設計Puppet:角色/配置文件模式

PuppetForge提供的模塊屬於“組件”類型。 他們的目的是盡可能靈活,同時專注於單個邏輯軟件 - 例如,apache httpd服務器或apache tomcat,但不是兩者兼而有之。

您可能編寫的用於包裝其中一個組件模塊的模塊類型將是“配置文件”模塊的完美示例。 這可以將apache httpd與tomcat和jboss以及其他一些組件(如mysql和php)聯系在一起。 但它是一個邏輯堆棧,具有多個組件。 或者你可能有一個LAMP Profile模塊和一個單獨的tomcat + jboss Profile模塊。

下一級是“角色”模塊。 除了指向相應Profile模塊的“include”語句之外,它們中不應包含任何內容。

有關更多詳細信息,請參閱PuppetLabs演示文稿,但此邏輯與Chef世界中使用“wrapper cookbooks”的內容非常相似。

暫無
暫無

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

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