एज़्योर पर, मैं एक शेड्यूल पर एक अल्पकालिक डॉकटर कंटेनर कैसे चलाऊं?


13

मेरे पास एक काफी सरल यूनिक्स शैल स्क्रिप्ट है जो एज़ीन कंटेनर रजिस्ट्री पर होस्ट किए गए अल्पाइन लिनक्स डोकर कंटेनर में पैक की गई है। एक वीएम क्रोन के साथ इस स्क्रिप्ट को चलाता है:

docker login <snip>
docker pull example.com/bar:latest
docker run  example.com/bar:latest

क्या मैं वीएम के बिना कर सकता हूं और इसके बजाय एज़्योर सेवाओं का उपयोग कर सकता हूं, शायद किसी प्रकार के शेड्यूलर के साथ यह एज़्योर कंटेनर इंस्टेंस पर चल रहा है?

मेरी प्रेरणा वीएम के लिए बनाए रखने और भुगतान करने की इच्छा नहीं है।

जवाबों:


11

आपके सुझाव के अनुसार Azure कंटेनर इंस्टेंस (ACI) एक अच्छा विकल्प हो सकता है। जब आप कंटेनर का उपयोग करते हैं, तो प्रति सेकंड बिलिंग के साथ, VM को प्रबंधित किए बिना, आप सीधे Azure पर एक कंटेनर चलाते हैं।

हालाँकि उस ब्लॉग में एक डेमो में कुबेरनेट्स का उल्लेख है, ACI का विचार यह है कि आप az container createअपने स्थानीय वर्कस्टेशन पर, जैसे Azure CLI के माध्यम से एक कंटेनर बना सकते हैं docker create

कंटेनर बनाने के लिए, आप एज़्योर सीएलआई ( azकमांड, क्विक स्टार्ट डॉक्स देखें ) या एज़्योर क्लाउड शेल का उपयोग कर सकते हैं ।

आपको कहीं और से शेड्यूल पर कंटेनर बनाने / चलाने की आवश्यकता होगी - एक निर्धारित फ़ंक्शन से "कंटेनर क्रिएट" कमांड चलाने के लिए एज़्योर फ़ंक्शंस एक अच्छी जगह हो सकती है । यह bash, PowerShell, और अन्य भाषाओं का समर्थन करता है - सभी विंडोज पर चल रहे हैं।

यदि आप वीएम को चलाने या कुबेरनेट्स सीखने के बिना डॉकटर कंटेनरों का उपयोग करना चाहते हैं, तो यह एक अच्छा विकल्प हो सकता है।

वैकल्पिक रूप से, आप अपने सभी कोड को Azure Functions में ले जा सकते हैं, लेकिन यह एक बड़ा निर्णय है।

अपडेट: जनवरी 2019 - एज़ुर लॉजिक ऐप का इस्तेमाल अनुसूचित कार्यों को चलाने के लिए भी किया जा सकता है


मुझे पता नहीं था कि मैं एज़्योर फ़ंक्शंस के लिए पावरशेल या बैश का उपयोग कर सकता हूं! धन्यवाद
Sijmen मुलडर

हां, आप Azure Functions से किसी भी निष्पादन योग्य को चला सकते हैं, और इस ओवरव्यू डॉक में स्पष्ट रूप से बैश का उल्लेख किया गया है । PowerShell मॉड्यूल को कॉल करने के लिए, इस ब्लॉग को देखें ।
रिचवेल

क्लाउड फ़ंक्शंस का उपयोग करना सामान्य है जैसे कि एज़्योर फ़ंक्शंस, एडब्ल्यूएस लैम्ब्डा आदि। स्थापना स्क्रिप्ट चलाने के लिए जो क्लाउड सेवाओं को कॉन्फ़िगर करता है (उदाहरण के लिए, एक नया क्लाउड वातावरण सेटअप)। तो आप सभी सर्वर रहित सेवाओं और चौखटों से अपेक्षा कर सकते हैं कि वे रनिंग बैश या समान का समर्थन करें। परंपरागत रूप से पहला VM जिसे आप सेटअप करते हैं, वह एक "कंट्रोल होस्ट" सर्वर था, जो सभी वातावरणों के सभी सेटअप को चलाने के लिए जगह के रूप में उपयोग करता था। ऐसी सभी लिपियों को चलाने के लिए सर्वर रहित होने का मतलब है कि भुगतान के लिए कोई होस्ट नहीं है। एक नियंत्रण सर्वर अगर हैक किया गया है तो आपके वातावरण, पुरानी लिपियों और संभवतः कैश्ड पासवर्डों का एक मानचित्र लीक करता है। सर्वरहित बैश अधिक सुरक्षित है।
simbo1905

ऐसा नहीं है कि सभी FaaS (सर्वर रहित) सेवाएं बैश का समर्थन करती हैं। वास्तव में, AWS लैंबडा केवल कस्टम लेयर्स के माध्यम से बैश का समर्थन करता है, 2018 के अंत में एक फीचर जोड़ा गया है - आप इस ओपन सोर्स लेयर का उपयोग रनिंग बैश को सरल बनाने के लिए कर सकते हैं । आम तौर पर, सर्वर रहित / FaaS सेवाएँ विशिष्ट भाषाओं का समर्थन करती हैं, कुछ प्रदाताओं ने इसे विस्तारित करने के तरीकों को सक्षम किया है - उदाहरण के लिए, AWS में परतें हैं, और Google के पास एक FaaS सेवा है जो किसी भी डॉकर कंटेनर को चलाने की अनुमति देती है।
रिचवेल

यदि आप परत का उपयोग नहीं करना चाहते हैं, तो सादगी के लिए - आप एक नोड / पायथन लैम्ब्डा लिख ​​सकते हैं, जो लेयर का उपयोग किए बिना, बैश चलाता है - एक उदाहरण के लिए लैम्ब्डाश देखें ।
रिचवेल


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.