अद्यतन: शेफ-एकल अब शेफ-क्लाइंट से "अलग" उपकरण नहीं है। documentation से:
chef-solo is a command that executes chef-client in a way that does not require the Chef server in order to converge cookbooks. chef-solo uses chef-client’s Chef local mode, and does not support the following functionality present in chef-client/server configurations
यह परिवर्तन Chef version 12.11 में लागू किया गया था, जो community RFC पूरा करता है। यह 8 जून, 2016 को जारी किया गया था। पुराना व्यवहार, जो नीचे वर्णित है (हालांकि इस समय 4 साल पहले से), --legacy-mode
तर्क chef-solo
पर उपलब्ध है।
सबसे वर्तमान के लिए और बावर्ची सोलो के बारे में तारीख की जानकारी के लिए ऊपर, कृपया इसे पढ़ें the official documentation
मेरे मूल जवाब नीचे है:
बावर्ची (एकल या ग्राहक) नहीं "रन" सभी पाक कला पुस्तकें करता है ।
यह भार सभी निम्न निर्देशिकाओं में रसोई की किताब के रूबी फ़ाइलें, इस क्रम में:।।।
- पुस्तकालयों/* rb
- प्रदाताओं/* आरबी
- संसाधनों/* आरबी
- गुण/*। rb
- परिभाषाएँ/*। आरबी
फिर, यह नोड की विस्तारित रन सूची में मौजूद सभी व्यंजनों को लोड करता है।chef-solo
के साथ, यह -j
के साथ आपूर्ति की गई JSON फ़ाइल से आता है, या विशेषता फ़ाइलों में किया जा सकता है - हालांकि बाद वाले को बहिष्कृत किया गया है और अनुशंसित नहीं किया गया है।
include_recipe
के माध्यम से विस्तारित रन सूची में शामिल किसी भी व्यंजन को भी लोड किया गया है। शेफ रूबी कोड के रूप में मूल्यांकन करके व्यंजनों को लोड करता है। जब यह रूबी कोड से मुकाबला करता है जो इसे संसाधन या परिभाषा मानता है, तो यह संसाधन संसाधन संग्रह में संसाधन जोड़ता है, जो सभी संसाधनों का एक क्रमिक क्रमबद्ध अनुक्रमित हैश है। परिभाषाएं विशेष हैं, जिसमें शेफ संसाधन संग्रह में परिभाषित संसाधनों को शामिल करता है, परिभाषा स्वयं नहीं। include_recipe
के माध्यम से शामिल व्यंजनों के संसाधनों को जगह में डाला जाता है, फिर शेफ सहित नुस्खा में जारी रहता है।
एक बार शेफ ने अपने सभी संसाधनों के लिए सभी व्यंजनों को संसाधित कर लिया है, तो यह संसाधन संग्रह को प्रत्येक संग्रह पर जोड़े गए क्रम में निर्दिष्ट कार्रवाई करने के लिए चलता है।
मैं अत्यधिक इस प्रक्रिया पर दस्तावेज़ पढ़ने की सलाह देते हैं। यह शेफ सोलो पर लागू होता है; केवल वह हिस्सा जहां सर्वर से कुकबुक डाउनलोड किए जाते हैं।
सुनिश्चित करने के लिए कि केवल व्यंजनों आप परीक्षण करने के लिए परीक्षण कर रहे हैं चाहते हैं कि उन्हें एक JSON फ़ाइल के माध्यम से नोड के रन सूची में शामिल हैं। यह इस तरह दिखता है:
{ "run_list": ["recipe[mything]", "recipe[anotherthing]"] }
रन सूची सिर्फ एक सरणी है, और आइटम recipe[cookbookname]
या role[somerole]
हो सकता है। शेफ सोलो प्रलेखन पर शेफ सोलो के साथ भूमिकाओं का उपयोग करने के तरीके के बारे में आप और अधिक पढ़ सकते हैं।
आप प्रणाली जब बावर्ची, रसोई की किताब घटकों (प्रत्येक रसोई की किताब में माणिक फ़ाइलें) लोड हो रहा है तो (टीएम) "आप यह गलत कर रहे हैं" किए गए परिवर्तनों और चाहिए एक नुस्खा से बुलाए गए संसाधन में उन चीजों को दोबारा करने के लिए दोबारा दोहराएं।
सभी लिंक – freedev