झुंड मोड में डॉकर चलाते समय हेल्थचेक वास्तव में क्या उपयोग किया जाता है?

मैं एक कठिन समय पता लगाना क्या कर रहा हूँ HEALTHCHECK वास्तव में झुंड मोड में डॉकर चलाते समय उपयोग किया जाता है ।

एक जगह पता चलता है वह डॉकर होगा पुनः आरंभ करें एक ऐसा कार्य जिसे अस्वस्थ माना जाता है । एक और जगह बताते हैं कि डॉकर करेंगे यातायात भेजना बंद करें उन कार्यों के लिए जो अस्वस्थ हैं । डॉकर प्रलेखन खुद ही बताते हैं कि क्या HEALTHCHECK निर्देश है, और इसे कैसे कॉन्फ़िगर करें । यह समझाने का कोई प्रयास नहीं करता है कि जब कोई कार्य अस्वस्थ हो जाता है तो क्या होता है ।

दूसरे शब्दों में, मैं एक स्पष्ट और भरोसेमंद स्पष्टीकरण खोजने के लिए संघर्ष कर रहा हूं HEALTCHECK वास्तव में करता है ।

इसके अलावा, को देख डॉकर बाकी एपीआई, डेटा का यह विशेष टुकड़ा (एक कार्य स्वस्थ है या नहीं) कार्यों के लिए भी उजागर नहीं किया गया है (हालांकि यह कंटेनरों के लिए उजागर है) । इससे डॉकर झुंड की निगरानी के लिए इस मीट्रिक का उपयोग करना कठिन हो जाता है, इसलिए मुझे ऐसा नहीं लगता कि यह मीट्रिक का प्राथमिक उद्देश्य भी है ।

वास्तव में क्या होता है जब झुंड मोड में डॉकर चलाते समय कोई कार्य अस्वस्थ हो जाता है?

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

यदि आप उपयोग करते हैं docker run एक कंटेनर शुरू करने के लिए, स्वास्थ्य जांच विफल होने पर यूआई अस्वास्थ्यकर दिखाएगा, लेकिन डॉकर कंटेनर के लिए कुछ भी नहीं करेगा । यह आप पर निर्भर है या इस पर कार्रवाई करने के लिए कुछ उच्च स्तरीय निगरानी समाधान ।

यदि आप उपयोग करते हैं docker service create (या docker stack deploy) एक झुंड सेवा बनाने के लिए और वह स्वास्थ्य जांच विफल हो जाती है, यह कार्य (कंटेनर) को रोक देगा/मार देगा और सेवा की उस प्रतिकृति को बदलने के लिए एक नया कार्य पुनर्निर्धारित करेगा । स्टॉप/किल के दौरान (यह इसे इनायत से रोकने की कोशिश करता है, लेकिन सभी डॉकर कंटेनरों की तरह 10 के बाद मारता है), झुंड उस कार्य के लिए इनबाउंड ट्रैफ़िक को ओवरले करना बंद कर देगा जैसे कि यह सभी रोक कार्यों के लिए करता है ।