Kubernetes - Política de red

La política de red define cómo los pods del mismo espacio de nombres se comunicarán entre sí y con el extremo de la red. Requiereextensions/v1beta1/networkpoliciespara ser habilitado en la configuración del tiempo de ejecución en el servidor API. Sus recursos usan etiquetas para seleccionar los pods y definir reglas para permitir el tráfico a un pod específico además del definido en el espacio de nombres.

Primero, necesitamos configurar la Política de aislamiento del espacio de nombres. Básicamente, este tipo de políticas de red son necesarias en los balanceadores de carga.

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 vez que se crea el espacio de nombres, debemos crear la Política de red.

Política de red 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