Configurar políticas de red

Kf se integra estrechamente en Istio y Kubernetes para proporcionar una aplicación sólida de políticas de red.

De manera predeterminada, las cargas de trabajo de Kf se ejecutan en el clúster de Kubernetes y resuelven las direcciones con DNS de Kubernetes. En primer lugar, el agente de resolución de DNS intentará resolver las direcciones dentro del clúster, y solo si no se encuentra ninguna dirección, intentará resolver de forma externa.

Cada app de Kf se ejecuta con un archivo adicional Envoy insertado por Istio o Anthos Service Mesh (ASM). Este archivo adicional conecta todo el tráfico de red dentro y fuera del pod de Kubernetes mediante proxy.

Cada Pod de Kubernetes se ejecuta en un nodo, una máquina física o virtual responsable de administrar las imágenes de contenedor que conforman un Pod. Los nodos existen en una red física o virtual.

En conjunto, estos constituyen una jerarquía de sistemas a los que puedes aplicar políticas de red. Estas se enumeran a continuación del nivel menos detallado al más detallado.

Políticas a nivel de red

La protección de la carga de trabajo comienza con la red en la que se instala tu clúster de GKE.

Si ejecutas Kf en un clúster de GKE en GCP, Kf recomienda lo siguiente:

Políticas a nivel de nodo

Puedes configurar políticas para contenedores que se ejecutan en el nodo con NetworkPolicies de Kubernetes. Estas son las asignaciones más cercanas a las políticas de red de Cloud Foundry que existen en Kubernetes.

NetworkPolicies está respaldado por un complemento de Kubernetes. Si configuras tu propio clúster de GKE, deberás habilitar la aplicación de NetworkPolicy.

Kf etiqueta apps con kf.dev/networkpolicy=app y compila con kf.dev/networkpolicy=build. Esto permite que orientes las NetworkPolicies directamente a los Pods que ejecutan apps o compilaciones.

Cada Kf Space crea dos NetworkPolicies para comenzar, una orientada a apps y otra orientada a compilaciones. Puedes cambiar la configuración en los campos spec.networkConfig.(app|build)NetworkPolicy.(in|e)gress del Space. Estos campos se pueden establecer en uno de los siguientes valores:

Valor enum Descripción
PermitAll Permite todo el tráfico.
DenyAll Rechaza todo el tráfico.

De forma predeterminada, Kf usa una política de red permisiva. Esto permite la siguiente funcionalidad que Kf usa:

  • Enrutamiento norte/sur a la puerta de enlace de entrada del clúster
  • Salida a Internet de Internet, por ejemplo, para recuperar paquetes de compilación
  • Enrutamiento este/oeste entre apps
  • Acceso al servidor DNS de Kubernetes
  • Acceso a registros de contenedores
  • Acceso directo a la red de VPC
  • Acceso a servicios de Google como Cloud Logging
  • Acceso al servidor de Workload Identity para obtener credenciales con rotación automática

Políticas de malla de servicios

Si necesitas control de redes detallado, autenticación, autorización y observabilidad, puedes aplicar políticas mediante Anthos Service Mesh.

Una malla de servicios es una capa de infraestructura que permite una comunicación administrada, observable y segura en todos tus servicios, de modo que puedes crear aplicaciones empresariales sólidas y compuestas por muchos microservicios en la infraestructura seleccionada.

Puedes consultar la lista de funciones compatibles aquí.