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 कुठल्या नोडवर चालू करायचा.

काम:

  1. जेव्हा नवीन Pod तयार होतो (Controller ने), तेव्हा तो कोणत्याही नोडवर चालू झालेला नसतो.
  2. Scheduler त्या Pod साठी योग्य नोड शोधतो – म्हणजे त्या Pod च्या गरजेनुसार (CPU, memory, इ.) कोणता नोड योग्य आहे हे पाहतो.

3.मग तो त्या नोडवर तो Pod चालू करतो.

एकत्रित कार्य:

  1. User म्हणतो: “मला 3 Pods हवे आहेत.”
  2. Controller बघतो की, किती Pods आहेत. जर फक्त 1 असेल, तर 2 अजून तयार करतो.
  3. Scheduler हे नविन Pods साठी योग्य नोड्स निवडतो.
  4. OpenShift/Kubernetes त्या नोड्सवर Pods चालू करतो.

मराठीत संक्षेप:

घटक

मराठी स्पष्टीकरण

Controller

क्लस्टरची स्थिती पाहून ती योग्य ठेवण्याचं काम

Scheduler

नवीन Pods साठी योग्य नोड निवडण्याचं काम