Networking in OpenShift
Openshift मध्ये Networking ही संकल्पना खूप महत्त्वाची आहे कारण ती Pods, Services, आणि External world यांच्यातील संप्रेषण नियंत्रित करते. खाली Openshift मधील Networking ची मूलभूत माहिती मराठीत दिली आहे:
Openshift मध्ये Networking म्हणजे काय?
OpenShift मध्ये Networking हे एक व्यवस्थापन तंत्र आहे जे Pod ते Pod, Pod ते Service, आणि External clients (उदा. ब्राउझर) ते Application दरम्यान कनेक्टिव्हिटी प्रदान करतं.
Networking चे मुख्य घटक
- Pod-to-Pod Communication
- प्रत्येक Pod ला स्वतःचा IP address असतो.
- Openshift नेटवर्क पॉलिसीनुसार सर्व Pods एकमेकांशी communicate करू शकतात, जोपर्यंत policies त्यांना ब्लॉक करत नाहीत.
- Services
- Pods dynamic असतात, त्यामुळे त्यांचा IP बदलू शकतो. त्यामुळे Service हा स्थिर access point असतो.
- ClusterIP, NodePort, LoadBalancer आणि ExternalName हे Services चे प्रकार असतात.
- Ingress
- Ingress ही Kubernetes ची रचना आहे जी HTTP आणि HTTPS traffic cluster बाहेरून आत येण्यास परवानगी देते.
- यात Routing Rules, Hostnames, आणि TLS Certificates वापरले जातात.
- Network Policies
- Pod-to-Pod traffic नियंत्रित करण्यासाठी वापरतात.
- हे firewall प्रमाणे काम करतात.
OpenShift मध्ये SDN (Software Defined Networking)
OpenShift मध्ये default SDN plugin वापरला जातो जो Project isolation (Namespace level isolation) ची सुविधा देतो. मुख्यपणे तीन प्रकार असतात:
- OpenShift SDN (default)
- OVN-Kubernetes (modern and scalable)
- Third-party CNI plugins (जसे की Calico, Weave)
External Traffic कसा Handle केला जातो?
- Routes
- OpenShift चा Route object वापरून आपलं app बाहेरील जगात publish करता येतं.
- हे Ingress प्रमाणेच असतं, पण OpenShift specific आहे.
- Ex: myapp.example.com
वापरात येणाऱ्या काही Commands
oc get svc
oc get pods -o wide
oc expose svc my-service
oc get routes
oc describe networkpolicy <policy-name>
उदाहरण
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-same-namespace
spec:
podSelector: {}
ingress:
– from:
– podSelector: {}
वरील policy त्या namespace मधील सर्व pods ना एकमेकांशी communicate करू देते.
