Kubernetes: criteri di rete

Il criterio di rete definisce il modo in cui i pod nello stesso spazio dei nomi comunicheranno tra loro e con l'endpoint di rete. Richiedeextensions/v1beta1/networkpoliciesda abilitare nella configurazione runtime nel server API. Le sue risorse utilizzano le etichette per selezionare i pod e definire le regole per consentire il traffico a un pod specifico oltre al quale è definito nello spazio dei nomi.

Innanzitutto, dobbiamo configurare la politica di isolamento dello spazio dei nomi. Fondamentalmente, questo tipo di criteri di rete sono richiesti sui bilanciatori del carico.

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

Una volta creato lo spazio dei nomi, dobbiamo creare i criteri di rete.

Politica di rete 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