कुबेरनेट्स - नेटवर्क नीति
नेटवर्क नीति परिभाषित करती है कि एक ही नामस्थान में पॉड एक दूसरे के साथ कैसे संवाद करेंगे और नेटवर्क समापन बिंदु होगा। इसकी जरूरत हैextensions/v1beta1/networkpoliciesAPI सर्वर में रनटाइम कॉन्फ़िगरेशन में सक्षम होना चाहिए। इसके संसाधन फली का चयन करने के लिए लेबल का उपयोग करते हैं और नियमों को परिभाषित करने के लिए एक विशिष्ट पॉड में ट्रैफ़िक को अनुमति देने के लिए परिभाषित करते हैं जिसके अलावा नामस्थान में परिभाषित किया गया है।
सबसे पहले, हमें Namespace अलगाव नीति को कॉन्फ़िगर करने की आवश्यकता है। मूल रूप से, लोड बैलेंसरों पर इस तरह की नेटवर्किंग नीतियों की आवश्यकता होती है।
kind: Namespace
apiVersion: v1
metadata:
annotations:
net.beta.kubernetes.io/network-policy: |
{
"ingress":
{
"isolation": "DefaultDeny"
}
}
$ kubectl annotate ns <namespace> "net.beta.kubernetes.io/network-policy =
{\"ingress\": {\"isolation\": \"DefaultDeny\"}}"
नाम स्थान बन जाने के बाद, हमें नेटवर्क नीति बनाने की आवश्यकता है।
नेटवर्क नीति यमल
kind: NetworkPolicy
apiVersion: extensions/v1beta1
metadata:
name: allow-frontend
namespace: myns
spec:
podSelector:
matchLabels:
role: backend
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379