Controllers & Schedulers in OpenShift
OpenShift मध्ये Controllers आणि Schedulers ही दोन महत्त्वाची घटकं (components) आहेत जी Kubernetes च्या आधारावर कार्य करतात. मराठीत समजावून सांगायचं झाल्यास
Controllers (नियंत्रक):
Controllers हे OpenShift/Kubernetes मध्ये स्वयंचलितरीत्या (automatically) क्लस्टरची स्थिती पाहतात आणि ती इच्छित स्थितीशी जुळवून आणण्याचं काम करतात.
उदाहरण:
जर एखाद्या Deployment मध्ये सांगितलं असेल की, आपल्याला 3 Pods चालू ठेवायचे आहेत, आणि त्यापैकी एक Pod अचानक बंद झाला, तर Controller हे ओळखतो आणि नवीन Pod सुरू करतो.
मुख्य Controllers:
- ReplicationController / ReplicaSet – दिलेल्या संख्येने Pods चालू ठेवतात.
- Deployment Controller – Pods ची नवीन आवृत्ती (version) डिप्लॉय करते आणि जुन्या आवृत्ती हटवते.
- StatefulSet Controller – स्थिर (persistent) स्टेट असलेले Pods हाताळते.
- DaemonSet Controller – प्रत्येक नोडवर एक Pod चालू ठेवतो.
- Job / CronJob Controller – एकदाच किंवा वेळापत्रकानुसार चालणारी कामं (tasks) हाताळतो.
Scheduler (अनुसूचक):
Scheduler हे ठरवतं की एखादा नवीन Pod कुठल्या नोडवर चालू करायचा.
काम:
- जेव्हा नवीन Pod तयार होतो (Controller ने), तेव्हा तो कोणत्याही नोडवर चालू झालेला नसतो.
- Scheduler त्या Pod साठी योग्य नोड शोधतो – म्हणजे त्या Pod च्या गरजेनुसार (CPU, memory, इ.) कोणता नोड योग्य आहे हे पाहतो.
3.मग तो त्या नोडवर तो Pod चालू करतो.
एकत्रित कार्य:
- User म्हणतो: “मला 3 Pods हवे आहेत.”
- Controller बघतो की, किती Pods आहेत. जर फक्त 1 असेल, तर 2 अजून तयार करतो.
- Scheduler हे नविन Pods साठी योग्य नोड्स निवडतो.
- OpenShift/Kubernetes त्या नोड्सवर Pods चालू करतो.
मराठीत संक्षेप:
घटक | मराठी स्पष्टीकरण |
Controller | क्लस्टरची स्थिती पाहून ती योग्य ठेवण्याचं काम |
Scheduler | नवीन Pods साठी योग्य नोड निवडण्याचं काम |
