Kubernetes - Kebijakan Jaringan

Kebijakan Jaringan menentukan bagaimana pod di namespace yang sama akan berkomunikasi satu sama lain dan titik akhir jaringan. Itu membutuhkanextensions/v1beta1/networkpoliciesuntuk diaktifkan dalam konfigurasi waktu proses di server API. Sumber dayanya menggunakan label untuk memilih pod dan menetapkan aturan untuk mengizinkan traffic ke pod tertentu selain yang ditentukan di namespace.

Pertama, kita perlu mengkonfigurasi Kebijakan Isolasi Namespace. Pada dasarnya, kebijakan jaringan semacam ini diperlukan pada penyeimbang beban.

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\"}}"

Setelah namespace dibuat, kita perlu membuat Kebijakan Jaringan.

Kebijakan Jaringan Yaml

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