सवाल कंसर्नेट्स कंटेनर क्रिएटिंग पर फंस गए


मेरे कुबर्नेट्स क्लस्टर में एक फली एक निर्माण चलाने के बाद "कंटेनर क्रिएटिंग" पर फंस गई है। मैं इस ऑपरेशन के लिए लॉग कैसे देख सकता हूं ताकि यह पता चल सके कि यह क्यों फंस गया है? kubectl logs ऐसा लगता है कि कंटेनर को एक लंबित स्थिति में होने की आवश्यकता नहीं है।


57
2017-10-13 20:40


मूल


kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/... संभावित चरणों पर दस्तावेज है। दुर्भाग्य से इसमें शामिल नहीं है ContainerCreating... - Xiong Chiamiov


जवाब:


kubectl describe pods कंटेनरों से शुरू होने वाली छवियों को खींचने सहित, फली से जुड़े सभी कार्यक्रमों की सूची देगा। यह मदद की हो सकती है।


73
2017-10-22 06:38



क्या होगा यदि कंटेनर किसी भी घटना के बिना कंटेनर क्रिएटिंग पर फंस गया हो? मेरे लिए घटनाओं को "कोई घटना नहीं" के रूप में दिखाया गया है। - Bob
कुछ घटनाओं को दिखाने के लिए कुछ समय लगता है। उदाहरण के लिए मेरे लिए डिस्क माउंट करने का प्रयास करने वाले टाइमआउट में ईवेंट के रूप में दिखाई देने से लगभग 2 मिनट लगते हैं। - jwadsack
ऐसा तब होता है जब आप रहस्यों का उपयोग कर रहे होते हैं और वे नहीं मिलते हैं (जैसे yaml में एक टाइपो या आप इसे पहले बनाना भूल गए हैं)। लगभग सभी अन्य संभावित त्रुटियों के लिए यह क्रैश लूपबैक या त्रुटि राज्यों को प्राप्त करता है लेकिन रहस्यों के साथ यह कंटेनर क्रिएटिंग में फंस जाता है, अगर आप फली का वर्णन करते हैं तो आप अंत में एक संदेश कहेंगे कि रहस्य नहीं मिला था, लेकिन यह मुश्किल से कहता है समस्या के बारे में कुछ भी नहीं। - danius
हाँ आमतौर पर आपके पास कुछ करने से पहले कोई घटना नहीं होती है। - erikbwork


मेरे मामले में, इंटरनेट पर डॉकर की पहुंच अवरुद्ध थी। यह प्रॉक्सी का उपयोग करके हल किया गया था (sandylss की टिप्पणी का उपयोग कर):

  1. minikube stop
  2. minikube delete
  3. export http_proxy=http://user:pass@ip:port
  4. export https_proxy=http://user:pass@ip:port
  5. export no_proxy=192.168.99.0/24
  6. minikube start --logtostderr --v=0 --bootstrapper=localkube --vm-driver hyperv 
      --hyperv-virtual-switch "Primary Virtual Switch" --docker-env HTTP_PROXY=$http_proxy \
      --docker-env HTTPS_PROXY=$https_proxy --docker-env NO_PROXY=$no_proxy
    
  7. export no_proxy=$no_proxy,$(minikube ip)
  8. export NO_PROXY=$no_proxy,$(minikube ip)

फिर, यह जांचने के लिए कि क्या डॉकर के पास इंटरनेट तक पहुंच है, चलाएं:

$ docker pull tutum/hello-world

क्लस्टर में (क्लस्टर से कनेक्ट करें minikube ssh); अगर यह डाउनलोड करना शुरू हो जाता है तो प्रक्रिया को रोकें।

मेरी दूसरी समस्या धीमी इंटरनेट कनेक्शन थी। चूंकि आवश्यक डॉकर छवियां 100 एमबी के क्रम में हैं, इसलिए डॉकर कंटेनर और कुबर्नेट्स फोड दोनों ही बने रहे हैं \pause तथा ContainerCreating 30 मिनट के लिए राज्यों।

यह जांचने के लिए कि क्या डॉकर छवियों को डाउनलोड कर रहा है, चलाएं:

$ ls -l /var/lib/docker/tmp

क्लस्टर में, जो डाउनलोड की जा रही अस्थायी छवि फ़ाइल [एस] दिखाती है, अन्यथा खाली है।

यदि आप मिनीक्यूब में विकास कर रहे हैं और वीपीएन का उपयोग कर रहे हैं, तो डॉकर आपके वीपीएन का उपयोग कर सकते हैं सारंगी बजानेवाला। यही है, डॉकर फिडलर के आईपी: पोर्ट से जुड़ा होगा, और फिडलर वीपीएन से जुड़ा हुआ है। अन्यथा, वीपीएन आपके मेजबान और मिनीक्यूब वीएम के बीच साझा नहीं किया जाता है।


1
2017-07-10 03:41