OpenShift Architecture
OpenShift हे Red Hat द्वारे विकसित केलेली एक kubernetes आधारित कंटेनर प्लॅटफॉर्म आहे, जे की अनुप्रयोगाचे बिल्डिंग, डेप्लोयमेंट आणि मॅनेजमेंट करण्यासाठी वापरली जाते यबद्दल खाली OpenShift चे मराठीत वर्णन आणि आर्किटेक्चर दिले आहे.
OpenShift ची रचना (Architecture)
OpenShift च्या आर्किटेक्चर मुख्यत: दोन प्रकारचे node असतात:
- Master Node
- Worker Node
१) Master Node
मास्टर नोड संपूर्ण क्लस्टरचे नियंत्रण करते. हे कंट्रोल प्लेन म्हणूनही ओढखले जाते.
मुख्य घटक:
- API Server – सर्व विनंत्या (requests) याच्याकडे येतात
- Schedular – नवीन पोड्स (pods) कुठल्या worker Node वर ठेवायचे हे ठरवतो.
- Controller Manager – विविध कंट्रोलर्स चालवतो (उदा Replica Set Controller)
- etcd – key-value स्टोअर. संपूर्ण क्लस्टरची स्थिति (state) यात साठवली जाते
२) Worker Node
वर्कर नोडवर actual application चा code चालतो. हेच ते नोडस आहेत जे वापरकर्त्याचे काम प्रत्यक्ष करतात.
मुख्य घटक:
- Kubelet – मास्टर नोडकडून आलेल्या आदेशाचे पालन करते
- CRI-0 / Docker / containerd – कंटेनर रनटाइम जे कंटेनर चालवतात
- Kube Proxy – नेटवर्किंगसाठी वापरले जाते
- OpenShift SDN / OVN-kubernetes – नेटवर्किंग प्लगिन्स जे सर्व pods मध्ये नेटवर्क connectivity प्रदान करतात
OpenShift च्या अन्य वैशिष्टयपूर्ण घटकाची माहिती
घटक | कार्य |
Routes | Public URL च्या माध्यमातून applications access करता येते |
BuildConfig & ImageStreams | कोड पासून कंटेनर इमेज तयार करतो |
DeploymentConfig | Application deploy करण्यासाठी नियम तयार करतो |
Projects (Namespaces) | संसाधंनांचा गट (grouping) |
Operators | Kubernetes applications ची lifecycle manage करतो |
OAuth Authentication | वापरकर्त्याचे लॉगिन नियंत्रित करते
|
OpenShift आर्किटेक्चर (Diagram)
[User]
|
[Router] <–> [OAuth Server]
|
[API Server] — [Controller] — [Scheduler] — [etcd]
|
[Worker Nodes] –> [Kubelet + CRI-O + Pods + Services]
|
[Persistent Storage / Registry]
OpenShift चा उपयोग का करावा?
१)कंटेनर deploy करणे सुलभ
२) सुरक्षा (security) अधिक चांगली
३) scalability आणि monitoring सहज
४) GUI आणि CLI दोन्ही support
