Limitación del tráfico de un pod con políticas de red de Kubernetes - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

Limitación del tráfico de un pod con políticas de red de Kubernetes

De forma predeterminada, no hay restricciones en Kubernetes para las direcciones IP, puertos o conexiones entre cualquier Pods de su clúster o entre sus Pods y recursos en cualquier otra red. Puede usar la política de red de Kubernetes para restringir el tráfico de red que entra y sale de su Pods. Para obtener más información, consulte Políticas de red en la documentación de Kubernetes.

Si tiene una versión 1.13 o anterior del Amazon VPC CNI plugin for Kubernetes en su clúster, tiene que implementar una solución de terceros para aplicar políticas de red de Kubernetes a su clúster. La versión 1.14 o posterior del complemento puede implementar políticas de red, de modo que no es necesario utilizar una solución de terceros. En este tema, aprenderá a configurar el clúster para que utilice la política de red de Kubernetes en su clúster sin utilizar un complemento de terceros.

Las políticas de red del Amazon VPC CNI plugin for Kubernetes se admiten en las siguientes configuraciones.

  • Clústeres de Amazon EKS de la versión 1.25 y posterior.

  • Versión 1.14 o posterior del Amazon VPC CNI plugin for Kubernetes en su clúster.

  • Clúster configurado para las direcciones IPv4 o IPv6.

  • Puede utilizar las políticas de red con los grupos de seguridad para Pods. Con las políticas de red, puede controlar todas las comunicaciones dentro del clúster. Con los grupos de seguridad para Pods, puede controlar el acceso a Servicios de AWS desde aplicaciones dentro de un Pod.

  • Puede utilizar las políticas de red con las redes personalizadas y la delegación de prefijos.

Consideraciones

  • Al aplicar las políticas de red del Amazon VPC CNI plugin for Kubernetes a su clúster con el Amazon VPC CNI plugin for Kubernetes, puede aplicar las políticas únicamente a los nodos de Linux de Amazon EC2. No puede aplicar las políticas a los nodos de Fargate o Windows.

  • Si su clúster utiliza actualmente una solución de terceros para la administración de políticas de red de Kubernetes, puede usar esas mismas políticas con el Amazon VPC CNI plugin for Kubernetes. Sin embargo, debe eliminar la solución existente para que no administre las mismas políticas.

  • Puede aplicar varias políticas de red al mismo Pod. Cuando se han configurado dos o más políticas que seleccionan el mismo Pod, todas las políticas se aplican al Pod.

  • El número máximo de combinaciones únicas de puertos para cada protocolo en cada selector de ingress: o egress: en una política de red es 24.

  • Para cualquiera de sus servicios de Kubernetes, el puerto de servicio debe ser el mismo que el puerto del contenedor. Si utiliza puertos con nombre, utilice también el mismo nombre en la especificación del servicio.

  • La característica de política de red crea y requiere una definición de recurso personalizada (CRD) de PolicyEndpoint llamada policyendpoints.networking.k8s.aws. Amazon EKS administra los objetos PolicyEndpoint del recurso personalizado. No debe modificar ni eliminar estos recursos.

  • Si ejecuta pods que utilizan las credenciales de IAM del rol de instancia o se conectan al IMDS de EC2, compruebe si hay políticas de red que puedan bloquear el acceso al IMDS de EC2. Puede que tenga que añadir una política de red para permitir el acceso al IMDS de EC2. Para obtener más información, consulte Metadatos de instancia y datos de usuario en la guía del usuario de Amazon EC2.

    Los pods que utilizan los roles de IAM para cuentas de servicio no accedan al IMDS de EC2.

  • El Amazon VPC CNI plugin for Kubernetes no aplica políticas de red a las interfaces de red adicionales de cada pod, solo a la interfaz principal de cada pod (eth0). Esta característica afecta a las siguientes arquitecturas:

    • Pods IPv6 con la variable ENABLE_V4_EGRESS establecida en true. Esta variable habilita la característica de salida IPv4 para conectar los pods IPv6 a puntos de conexión IPv4, como aquellos fuera del clúster. La característica de salida IPv4 funciona mediante la creación de una interfaz de red adicional con una dirección IPv4 de bucle invertido local.

    • Cuando se utilizan complementos de red encadenados, como Multus. Debido a que estos complementos añaden interfaces de red a cada pod, las políticas de red no se aplican a los complementos de red encadenados.