साल्टस्टैक - नमक प्रॉक्सी मिनियंस
राउटर, नेटवर्क गियर, आदि जैसे बहुत सारे डिवाइस हैं, जिसमें कस्टम ओएस, सीमित मेमोरी और उच्च सुरक्षा विचार हैं। उन उपकरणों में, हम मानक स्थापित करने में सक्षम नहीं थेsalt-minionऔर बाद में उन प्रणालियों को प्रबंधित करने में असमर्थ थे। हालांकि, नमक इस बाधा को दूर करने के लिए एक नवीन तकनीक प्रदान करता है।
नमक में एक अलग मॉड्यूल होता है, नमक प्रॉक्सी मिनियन जो रिमोट सिस्टम में चल रहे REST सेवा का उपयोग करके रिमोट सिस्टम को नियंत्रित करता है। यह REST सेवा एक HTTP आधारित वेब सेवा है जिसका उपयोग कर लिखा जाता हैRepresentational State Transfer (REST) अवधारणा और वे दोनों लागू करने में आसान और उपभोग करने में आसान हैं।
प्रत्येक डिवाइस में जटिल एप्लिकेशन लिखने के लिए अपना एसडीके और विकास का वातावरण होगा। नमक को उम्मीद है कि डिवाइस में रेस्ट सर्विस को साल्ट इंटरफेस विनिर्देश के अनुसार विकसित किया जाएगा। रेस्ट वेब सेवा को लिखने के लिए नमक एक अजगर मॉड्यूल भी प्रदान करता है। यदि डिवाइस अजगर का समर्थन करता है, तो आरईएसटी वेब सेवा को विकसित करना आसान होगा।
एक बार REST वेब सेवा को दूरस्थ प्रणाली में विकसित और तैनात करने के बाद, नमक को मिनियन के बजाय REST वेब सेवा का उपयोग करके दूरस्थ डिवाइस को नियंत्रित करने के लिए कॉन्फ़िगर किया जा सकता है।
काम करने का उदाहरण
आइए हम इसका कॉन्सेप्ट सीखते हैं salt proxy minionएक काम कर पर्यावरण का उपयोग कर। लाइव वातावरण के लिए, हमने मास्टर और प्रॉक्सी मिनियन दोनों के लिए एक लिनक्स सिस्टम चुना। हम नमक-मिनियन के बजाय आरईएसटी वेब सेवा का उपयोग करके सिस्टम को नियंत्रित करने जा रहे हैं।
REST वेब सेवा को स्थापित और कॉन्फ़िगर करें
नमक REST वेब सेवा कार्यान्वयन का एक नमूना प्रदान करता है, जिसे इसके कंट्राब मॉड्यूल में proxyminion_rest_example नाम दिया गया है। आइए हम नमूना वेब सेवा स्थापित करें।
इंस्टॉल ‘bottle’पाइप का उपयोग करना। bottle वेब एप्लिकेशन विकसित करने के लिए कमांड एक अजगर वेब फ्रेमवर्क है।
pip install bottle = 0.12.8
डाउनलोड करें saltstack/salt-contribगिथब से परियोजना। अन्यथा, निम्न कमांड का उपयोग करके प्रोजेक्ट को क्लोन करें।
git clone https://github.com/saltstack/salt-contrib
एक टर्मिनल खोलें और पर जाएं salt-contrib निर्देशिका।
इस नमक-कंट्रिब डायरेक्टरी में एक फ़ोल्डर होगा, proxyminion_rest_example। इस फ़ोल्डर में REST वेब सेवा के लिए नमूना कार्यान्वयन है। Proxyminion_rest_example फ़ोल्डर पर जाएं।
REST वेब सेवा प्रारंभ करने के लिए निम्न कमांड चलाएँ।
python rest.py --address <your ip address> --port 8000
एक ब्राउज़र खोलें और http: // «अपना आईपी पता»: 8000 लोड करें। यह सेवाओं और पैकेजों के साथ डिफ़ॉल्ट पृष्ठ दिखाएगा जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।
अब, हमने REST वेब सेवा को कॉन्फ़िगर किया है और यह जाँच करेगा कि REST वेब सेवा को क्वेरी करने के लिए नमक प्रॉक्सी को कैसे कॉन्फ़िगर करें और सिस्टम को नियंत्रित करें।
नमक-प्रॉक्सी कॉन्फ़िगर करें
नमक-प्रॉक्सी को कॉन्फ़िगर करने के लिए, हमें नीचे दिए गए चरणों का पालन करना होगा।
हमें नमक-प्रॉक्सी के लिए मास्टर नोड निर्दिष्ट करना होगा। प्रॉक्सी-कॉन्फ़िगरेशन फ़ाइल स्थान को संपादित करें, जो / etc / नमक / प्रॉक्सी में है, और निम्नलिखित कोड दर्ज करें।
master: <your ip address>
में आधार स्तंभ फ़ाइल को संशोधित / बनाएँ /srv/pillar/top.sls जैसा कि निम्नलिखित कोड ब्लॉक में दिखाया गया है।
base:
'p8000':
- p8000
एक नया स्तंभ फ़ाइल जोड़ें, p8000.sls में /srv/pillar जैसा कि नीचे दिए गए कोड ब्लॉक में दिखाया गया है।
proxy:
proxytype: rest_sample
url: http://<your ip address>:8000
निम्नलिखित कमांड का उपयोग करके डिबग मोड में नमक-प्रॉक्सी शुरू करें।
salt-proxy --proxyid = p8000 -l debug
नमक-मिनियन के समान, स्वीकार करें salt-proxy key जैसा की नीचे दिखाया गया।
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
नमक चल रहा है
अब, भागो salt कमांड और कॉल करें ping.test नीचे दिखाए अनुसार कार्य करें।
salt p8000 test.ping
हम REST वेब सेवा द्वारा समर्थित किसी भी फ़ंक्शन को उपयोग करके चला सकते हैं salt, जो समान है salt-minion।
उदाहरण के लिए, अनाज जानकारी निम्न आदेश का उपयोग करके प्राप्त की जा सकती है।
salt p8000 grains.items