কীভাবে কুবেরনেট পোডগুলিতে চিত্র পুনরায় চেষ্টা করবেন?


92

আমি কুবেরনেটে নতুন আমার পোডগুলিতে একটি সমস্যা আছে। আমি যখন কমান্ড চালাচ্ছি

 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" নোডের সমস্যার কারণে আমার এটি পুনরায় চালু করতে হবে। যেকোনো পরামর্শ?

উত্তর:


69

সাধারণত "ইমেজপুলব্যাকআফ" এর ক্ষেত্রে এটি কয়েক সেকেন্ড / মিনিট পরে আবার চেষ্টা করে। আপনি যদি ম্যানুয়ালি আবার চেষ্টা করতে চান তবে আপনি পুরানো শুঁটি মুছতে এবং শুঁটিটি পুনরায় তৈরি করতে পারেন। পোড মুছতে এবং পুনরায় তৈরি করার জন্য একটি লাইন কমান্ডটি হ'ল:

kubectl replace --force -f <yml_file_describing_pod>

6
আপনি যদি এই পোড পরিচালনা করে প্রতিলিপি সেট / নিয়ামক পেয়ে থাকেন তবে একটি নতুন পোড হত্যার পরে এটি স্বয়ংক্রিয়ভাবে তৈরি করা উচিত।
হেম

^^ একেবারে আমি খুব চিন্তিত হই যদি পোড মেরে ফেলার জন্য এটি ভাল হয়ে যায়।
ড্যামিয়েন রোচে

4
আমি বিশ্বাস করি kubectl replace --force -f ...তৈরির পরে মুছে ফেলার সমতুল্য হবে
অলিভার

4
যদি আপনার পোড ডিপ্লোয়মেন্টের মাধ্যমে তৈরি করা হয়, তবে কেবল একটি পোড মুছুন - একটি নতুন স্বয়ংক্রিয়ভাবে তৈরি হবে
ইলিডান

কেন --forceবিকল্প প্রয়োজন?
mchawre


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

যদি সবকিছু ঠিকঠাক হয় তবে আপনার এমন কিছু দেখা উচিত:

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

লেখার সময় এর বিবরণগুলি কুবেরনেটস ডকুমেন্টেশন, "ম্যানেজ-ডিপ্লোয়মেন্ট" এবং কুবেকেটেল-চিটশিট পৃষ্ঠায় পাওয়া যাবে।


পোডের রিসোর্স ফাইলটি দেখতে কেমন হওয়া উচিত তা আমি কীভাবে জানতে পারি? আমি। / পড.জসন ফাইলটি দেখেছি কিন্তু লিঙ্কটিতে কোনও টেম্পলেট বা অনুরূপ উল্লেখ নেই
ডমিনিক পল

7

যদি Podঅংশটি কোনও Deploymentবা এর অংশ হয় Service, এটি মুছে ফেলা পুনরায় আরম্ভ হবে Podএবং সম্ভাব্যভাবে অন্য নোডে রাখবে :

$ 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>

আমার ক্ষেত্রে এটি ওয়াইএএমএল ফাইল নিয়ে সমস্যা ছিল।

সুতরাং, আমার কনফিগারেশন ফাইলটি সংশোধন করে এটি প্রতিস্থাপন করা দরকার:

kubectl replace --force -f <yml_file_describing_pod>

0

সম্ভবত ইমেজপুলব্যাকঅফের ইস্যুটি চিত্রটি উপস্থিত না হওয়ার কারণে বা পড ওয়াইএএমএল ফাইলের সাথে ইস্যু করার কারণে হয়েছে।

আমি যা করব তা হ'ল

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

আগের পোডটি কেন কাজ করে না তা দেখতে আমিও পড.আইএএমএল দেখতে পাবো

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.