Configurar políticas de red

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

De forma predeterminada, las cargas de trabajo de Kf se ejecutan en el clúster de Kubernetes y resuelven las direcciones mediante DNS de Kubernetes. Este resolver de DNS intentará primero resolver las direcciones del clúster y, solo si no encuentra ninguna, intentará resolverlas externamente.

Cada aplicación de Kf se ejecuta con un sidecar de Envoy insertado por Istio o Anthos Service Mesh (ASM). Este sidecar proxyiza todo el tráfico de red que entra y sale del pod de Kubernetes.

Cada pod de Kubernetes se ejecuta en un nodo, una máquina física o virtual responsable de gestionar las imágenes de contenedor que componen un pod. Los nodos se encuentran en una red física o virtual.

En conjunto, forman una jerarquía de sistemas a los que puedes aplicar políticas de red. A continuación, se enumeran de menor a mayor nivel de detalle.

Políticas a nivel de red

La protección de las cargas de trabajo empieza por la red en la que está instalado 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 los contenedores que se ejecutan en el nodo mediante Kubernetes NetworkPolicies. Estas son las asignaciones más parecidas a las políticas de red de Cloud Foundry que existen en Kubernetes.

Las NetworkPolicies se basan en un complemento de Kubernetes. Si configuras tu propio clúster de GKE, tendrás que habilitar la aplicación de NetworkPolicy.

Kf etiqueta las aplicaciones con kf.dev/networkpolicy=app y las compilaciones con kf.dev/networkpolicy=build. De esta forma, puedes orientar NetworkPolicies directamente a los pods que ejecutan aplicaciones o compilaciones.

Cada espacio de nombres de Kf crea dos NetworkPolicies para empezar: una orientada a las aplicaciones y otra a las compilaciones. Puedes cambiar la configuración en los campos spec.networkConfig.(app|build)NetworkPolicy.(in|e)gress del espacio. Estos campos pueden tener uno de los siguientes valores:

Valor de enumeración 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 usar las siguientes funciones de Kf:

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

Políticas de malla de servicios

Si necesitas un control de red, una autenticación, una autorización y una observabilidad pormenorizados, puedes aplicar políticas con Anthos Service Mesh.

Una malla de servicios es una capa de infraestructura que permite una comunicación gestionada, observable y segura entre tus servicios, lo que te permite crear aplicaciones empresariales sólidas formadas por muchos microservicios en la infraestructura que elijas.

Puedes consultar la lista de funciones admitidas.