2014-07-14 34 views
1

通常一個白手起家廚師節點與boostrap像這樣:有沒有辦法從純Java實現引導Chef節點?

knife bootstrap mynode.example.com -N mynode -x myuser --sudo --run-list "role[myrole]" 

我想知道是否有一種方法可以從Java做到這一點,而無需Ruby或廚師您的操作系統上安裝。例如,JClouds似乎有一個Chef實現,但我不知道它是否首先需要本地安裝Ruby/Chef。想法?

+0

我管理ruby/chef環境穩定很麻煩,如果有Java我會喜歡它 –

+1

安裝最新的廚師DK(開發工具包)它會提供各種廚師管理,命令全部使用嵌入式副本的紅寶石。這將保持你的廚師工作站穩定。 jClouds看起來很有趣,但我會擔心轉換,因爲替代客戶端需要努力工作才能跟上標準的基於ruby的工具。 –

+0

'knife bootstrap'只是封裝了一些SSH調用。您可以查看源代碼並使用您喜歡的任何語言進行復制 – sethvargo

回答

2

正如Everett指出的那樣,這正是jclouds-chef所做的。查看指南以瞭解它的工作原理。

您不必在本地安裝Ruby/Chef或其他任何東西,也不需要在要引導的機器上安裝任何東西。唯一的要求是您要引導的計算機已啓用SSH訪問並可以連接到Internet。 jclouds-chef將連接到它並負責安裝Ruby,Chef以及所有需求並引導節點,就像刀一樣。

0

this discussion有關從廚師郵件列表的主題,在約翰·文森特E.寫道,

你是不是要能夠真正地重新實現廚師在Java和 運行在客戶端上的JRuby是不可能的。

如果需要,您可能可以使用jruby並將主廚寶石拉進一些API 交互。

最後,廚師用紅寶石書寫。不管什麼尷尬的要求 將不得不接受。

但以理Cukier迴應:

我做了一些測試,這將是不可能的運行 JVM內部廚師。我唯一的選擇是使用jcloud配置機器,然後通過ssh運行引導腳本 。

我想從鏈接線程的全面討論應該提供您需要的細節。然而,由於我自己對此不太瞭解,所以我無法真正展開細節。

相關問題