मुझे पता है कि यह एक पुराना धागा है, लेकिन इसका समाधान बहुत आसान है, क्योंकि यहां अधिकांश उत्तर इसे आसान बनाते हैं।
दो चरणों में रनिंग कंटेनर को कैसे अपडेट करें:
नीचे माना जाता है कि आपके पास एक कार्य चल रहा है जो एक कंटेनर को टैग किया हुआ है latest
(या कोई अन्य स्थिर टैग जो एलीवेटर अपडेट को नहीं बदलता है) को संदर्भित कर रहा है ।
- अपना नया कंटेनर रिपॉजिटरी में अपलोड करें
- मैन्युअल रूप से अपने कार्यों को मार डालो
यदि लक्ष्य हमारे लिए एक नया निर्माण करना है, तो हमें वास्तव में इसके लिए अपनी सेवा पर भरोसा करने की आवश्यकता नहीं है (और मैं तर्क दूंगा, हमें इस पर भरोसा नहीं करना चाहिए )। यदि आप अपने कार्य को मारते हैं, तो सेवा यह मान लेगी कि उसके पास Desired Count
चलने वाले कार्य नहीं हैं , और बस एक नया काम करना है। यह आपके कंटेनर को उसी टैग के आधार पर पुन: खींचेगा।
ECS सेवाएं HA सुरक्षा जाल हैं, न कि आपकी CD / CI पाइपलाइन के लिए प्रतिस्थापन।
बोनस: यदि लक्ष्य एक सेवा को पहचानना है तो एक नया कंटेनर धकेल दिया गया है (टैग की परवाह किए बिना), हमें उस के निहितार्थों पर विचार करने की आवश्यकता है। क्या हम वास्तव में हमारे लिए हमारी तैनाती पाइपलाइन को नियंत्रित करने वाली एक बुनियादी सेवा चाहते हैं? शायद नहीं। आदर्श रूप से, आप अपने कंटेनरों को अलग-अलग टैग (रिलीज़ संस्करण या कुछ पर आधारित) के साथ धक्का देंगे। इस स्थिति में, परिनियोजन में बाधा यह है कि सेवा को कुछ नया अधिसूचित करना है - फिर से, यह सेवा के लिए एक सुरक्षा जाल है, और इससे अधिक कुछ नहीं।
तीन चरणों में नए टैग कैसे तैनात करें:
- अपने नए
container:tag
को भंडार में अपलोड करें
- नया संदर्भित करने के लिए एक नया कार्य परिभाषा बनाएँ
tag
- नई कार्य परिभाषा को संदर्भित करने के लिए अपनी सेवा को अपडेट करें
- यहाँ सावधान! आप है
minimum healthy
करने के लिए सेट 0%
के रूप में कुछ अन्य उत्तर सुझाव है, तो आप एडब्ल्यूएस क्रम नया कार्य परिभाषा को तैनात करने में अपनी पूरी सेवा को मारने के लिए पूर्ण अधिकार दे रहे हैं। यदि आप एक रोलिंग / क्रमिक परिनियोजन पसंद करते हैं, तो अपना न्यूनतम कुछ सेट करें >0%
।
- वैकल्पिक रूप से, अपने सेट
minimum healthy
करने के लिए 100%
और अपने maximum healthy
कुछ करने के लिए >100%
आपकी सेवा को तैनात करने की अनुमति देने के लिए नए पुराने लोगों (अपने उपयोगकर्ताओं के लिए प्रभाव को कम करने) की हत्या से पहले कार्य।
इस बिंदु से, आपकी सेवा स्वचालित रूप से यह पहचान लेगी कि आपने एक नया कार्य निर्दिष्ट किया है, और आपके द्वारा कॉन्फ़िगर किए गए minimum
/ maximum
स्वस्थ थ्रेसहोल्ड के आधार पर उसे बाहर तैनात करने पर काम करेंगे ।