कुबेरनेट्स पॉड्स में छवि को कैसे वापस लेना है?


90

मैं कुबेरनेट्स के लिए नया हूं। मेरे पास फली में एक मुद्दा है। जब मैं कमांड चलाता हूं

 kubectl get pods

परिणाम:

NAME                   READY     STATUS             RESTARTS   AGE
mysql-apim-db-1viwg    1/1       Running            1          20h
mysql-govdb-qioee      1/1       Running            1          20h
mysql-userdb-l8q8c     1/1       Running            0          20h
wso2am-default-813fy   0/1       ImagePullBackOff   0          20h

"Wso2am-default-813fy" नोड के एक मुद्दे के कारण, मुझे इसे पुनः आरंभ करने की आवश्यकता है। कोई उपाय?

जवाबों:


68

आमतौर पर "ImagePullBackOff" के मामले में कुछ सेकंड / मिनट के बाद इसे हटा दिया जाता है। यदि आप मैन्युअल रूप से पुनः प्रयास करना चाहते हैं तो आप पुरानी पॉड को हटा सकते हैं और पॉड को फिर से बना सकते हैं। पॉड को हटाने और पुनः बनाने के लिए एक पंक्ति कमांड होगी:

kubectl replace --force -f <yml_file_describing_pod>

6
यदि आपको इस फली को प्रबंधित करने के लिए प्रतिकृति सेट / नियंत्रक मिला है, तो इसे मारने के बाद एक नया पॉड स्वचालित रूप से बनाया जाना चाहिए।
हेम

^ ^ बिल्कुल। मैं बहुत चिंतित होता अगर फली को मारने से यह अच्छे के लिए गायब हो जाता।
डेमियन रोश

3
मेरा मानना ​​है kubectl replace --force -f ...कि बनाने के लिए बराबर होगा
Oliver

1
यदि आपकी फली परिनियोजन के माध्यम से बनाई गई है, तो बस एक फली हटाएं - एक नया स्वचालित रूप से बनाया जाएगा
इलिडन

--forceविकल्प की आवश्यकता क्यों है?
मचेरे


19
$ kubectl replace --force -f <resource-file>

अगर सब ठीक हो जाता है, तो आपको कुछ देखना चाहिए:

<resource-type> <resource-name> deleted
<resource-type> <resource-name> replaced

इसका विवरण कुबेरनेट के दस्तावेज, "प्रबंधन-परिनियोजन" और कुब्लेट-चीटशीट पृष्ठों पर लेखन के समय पाया जा सकता है ।


मुझे कैसे पता चलेगा कि फली के लिए संसाधन फ़ाइल कैसी दिखनी चाहिए? मैंने ./pod.json फ़ाइल देखी, लेकिन लिंक में किसी भी टेम्पलेट या समान का उल्लेख नहीं है
डोमिनिक पॉल

7

यदि या Podका एक हिस्सा है , तो इसे हटाना पुनः आरंभ करेगा , संभवतः, इसे दूसरे नोड पर रखें:DeploymentServicePod

$ kubectl delete po $POD_NAME

replaceअगर यह एक व्यक्ति है Pod:

$ kubectl get po -n $namespace $POD_NAME -o yaml | kubectl replace -f -


2

फली हटाने के साथ प्रयास करें यह फिर से छवि को खींचने की कोशिश करेगा।

kubectl delete pod <pod_name> -n <namespace_name>


0

पहले यह देखने की कोशिश करें कि फली में क्या गड़बड़ है:

kubectl logs -p <your_pod>

मेरे मामले में यह YAML फ़ाइल के साथ एक समस्या थी।

इसलिए, मुझे कॉन्फ़िगरेशन फ़ाइल को सही करने और इसे बदलने की आवश्यकता है:

kubectl replace --force -f <yml_file_describing_pod>

0

ज्यादातर शायद ImagePullBackOff का मुद्दा या तो छवि के मौजूद नहीं होने या पॉड YAML फ़ाइल के साथ जारी होने के कारण है।

मैं यह क्या करूंगा

kubectl get pod -n $namespace $POD_NAME --export > pod.yaml | kubectl -f apply -

मैं यह भी देखने के लिए पॉड.यिमल देखूंगा कि पहले की पॉड काम क्यों नहीं करती थी

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