簡體   English   中英

有什么方法可以自動修改Chef食譜以與其他雲提供商一起使用?

[英]Any way to automatically modify Chef recipes to work with different cloud provider?

有什么方法可以接受廚師食譜(然后說它用於AWS EC2),然后自動將其更改為可在Rackspace或SoftLayer上使用?

編輯:如果不存在,您認為從頭開始創建它會有多困難?

這確實很大程度上取決於Cookbook。 絕大多數食譜完全不知道它們是否在裸機,AWS,機架空間等上運行。它們通常更加關注它們所運行的操作系統。

因此,他們的回答是:您將它們連同幾百美元一並寄給我,而我則“自動”寄回給您(並且不變)。

更重要的是,如果您可以告訴我們您要考慮的菜譜,我們可以為您提供一個更好的主意。

根據您要執行的操作,還值得檢查各種雲供應商的Knife插件:

干杯EJK

專門用來做某事的菜譜(例如,安裝php) 知道如何專門針對Rackspace,AWS等來做。 該部分在您自己的安裝中。

對此的一個過分簡化的解釋是,菜譜告訴廚師它想要做的事情,而廚師則用刀(刀架空間,從清單中選擇一把)來做。

繼續閱讀Chef文檔,在您自己的系統上安裝ChefDK並運行一些教程。 您很快就會掌握它了。 我在這里使用的是一個.kitchen.yml文件,該文件使用相同的食譜使用兩個不同的提供程序來構建兩個不同的OS平台。 決定因素是我告訴它要構建的服務器:“ kitchen converge xxxx”,其中xxxx是我要構建的服務器的名稱。 無論是在雲中還是在本地計算機上的virtualbox實例中,它都將使用相同的食譜來構建服務器。

不,我不必做任何跳躍操作即可使其在提供商之間起作用。 必須使用一些條件邏輯來包括正確的程序包管理器菜譜(例如,對於CentOS為yum,對於Ubuntu為apt),但這只是在確定要掌握的菜譜,而不是更改/轉換任何特定配方。

基本規則是,菜譜中是否根本沒有特定於特定雲提供商的內容(例如Rackspace,AWS等),您做錯了。 該菜譜應該是不可知的。 如果不是,那就去找另一本,因為那本食譜中還有其他尚未發現的問題。

暫無
暫無

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

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