यह एक ज्ञान साझाकरण प्रकार का प्रश्न है। मुझे एक उत्तर पता है लेकिन बेझिझक कोई बेहतर तरीका सुझाएं!

इस परिदृश्य को लें:

enter image description here

मैं प्रत्येक पॉड के लिए kubectl delete pod <pod_name> -n <namespace> टाइप किए बिना कमांडलाइन का उपयोग करके प्रत्येक चल रहा पॉड स्वचालित रूप से हटाना चाहता हूं।

0
Jay Shukla 30 जून 2021, 22:28

2 जवाब

यहाँ एक शेलस्क्रिप्ट है जिसे मैंने कार्य प्राप्त करने के लिए बनाया है,

i=0 && for pod in $(kubectl get pods | grep 'Running')
  do 
    if [ `expr $i % 5` == 0 ]
      then kubectl delete pod $pod
    fi
  i=`expr $i + 1`
done

मैंने पाया कि जब हम kubectl get pods | grep 'Running' पर लूप करते हैं, तो हर 5वां शब्द एक पॉड नाम होता है।

इसलिए मैंने मूल रूप से स्क्रिप्ट को लूप से हर 5वाँ शब्द लेने के लिए लिखा था और उस पर जो भी कमांड चाहता हूं उसे निष्पादित करता हूं।

फिर भी, यह एक बेवकूफ दृष्टिकोण जैसा लगता है। बेझिझक एक बेहतर साझा करें।

0
Jay Shukla 30 जून 2021, 19:28

आप चल रहे पॉड्स को फ़िल्टर और हटा सकते हैं:

kubectl delete pods -n <NAMESPACE> --field-selector=status.phase=Running
2
星弘网络 1 जुलाई 2021, 10:10