मैं side car container job run कर रहा हु। मैं main application का काम पूरा होने के बावजूद pod running status में ही रह रहा है
मैं main application code का काम ख़तम होने के बाद pod को कम्प्लेटेड और एग्जिट होना चाहिए, लेकिन साइड कार कंटेनर हमेशा के लिए रनिंग स्टेटस में इसलिए पोड कम्पलीट स्टेटस में नहीं जा रह।
में मैन कोड के रन होने का बाद कैसे सभी साइड कार कंटेनर को किल कर सकता हूँ?
proxy.istio.io/config annotation के साथ Istio sidecar lifecycel: आप अपने पॉड टेम्पलेट में proxy.istio.io/config annotation का उपयोग करके एप्लिकेशन कंटेनर के exit होने पर Istio साइडकार कंटेनर को completed करने के लिए सेट कर सकते हैं:
Kubernetes job prestop hook का उपयोग करें: अपने Kubernetes job container spec में एक prestop hook define करें। यह हुक Istio प्रॉक्सी कंटेनर को रोकने के लिए संकेत/singnal देने के लिए एक स्क्रिप्ट को कॉल कर सकता है। यहाँ एक उदाहरण दिया गया है:
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "curl -X POST http://localhost:15020/quitquitquit"]
curl commannd quitquitquit endpoint को कॉल करके Istio प्रॉक्सी को शालीनता से बंद करने का संकेत देता है।