Estadísticas sobre el uso de direcciones IP de GKE

En esta página, se describen las estadísticas de Network Analyzer sobre el uso de direcciones IP en Google Kubernetes Engine (GKE). Para obtener información sobre todos los tipos de estadísticas, consulta Grupos y tipos de estadísticas.

Visualiza las estadísticas en la API de Recommender

Para consultar estas estadísticas en la gcloud CLI o la API de Recommender, usa el tipo de estadística que se indica a continuación:

  • google.networkanalyzer.container.ipAddressInsight

Necesitas los permisos siguientes:

  • recommender.networkAnalyzerGkeIpAddressInsights.list
  • recommender.networkAnalyzerGkeIpAddressInsights.get

Para obtener más información sobre cómo usar la API de Recommender con las estadísticas de Network Analyzer, consulta Usa la CLI y la API de Recommender.

Asignación alta de rangos de Pods de GKE

Esta estadística indica que el uso de direcciones IP en los rangos de direcciones de Pods para un clúster de GKE supera el 80%. La política de asignación de direcciones IP para Pods de GKE varía según si el clúster se creó como un clúster nativo de la VPC o como un clúster basado en rutas.

Clústeres basados en rutas

En GKE los clústeres se pueden distinguir por la forma en que enrutan el tráfico de un Pod a otro. Los clústeres que usan rutas deGoogle Cloud se denominan clústeres basados en rutas. Para obtener más información, consulta Crea un clúster basado en rutas.

Los clústeres basados en rutas tienen un rango de direcciones IP que se usan para los Pods y servicios. Aunque el rango se usa tanto para los Pods como para los servicios, se lo conoce como rango de direcciones de los Pods.

El último /20 del rango de direcciones de los Pods se usa para los servicios. El rango /20 tiene 212 = 4096 direcciones. Por lo tanto, se usan 4096 direcciones para los servicios y el resto del rango se usa para los Pods.

Cada nodo del rango de direcciones para los Pods tiene un rango /24 de direcciones IP para los Pods. El rango /24 tiene 28 = 256 direcciones. Recuerda que 4096 direcciones del rango de direcciones para los Pods se usan para los servicios. La porción restante del rango de direcciones para los Pods se destina a los Pods y debe ser lo suficientemente grande como para contener la cantidad de nodos × 256 direcciones.

La proporción de asignación del rango de direcciones para los Pods se calcula como se indica más abajo:

$\frac{\text {GKE node count} \times {256}}{\text {Tamaño del rango de direcciones del Pod}-{4096}}$

Por ejemplo, supongamos que planeas crear un clúster de 900 nodos. Luego, necesitas 900 x 256 = 230,400 direcciones para los Pods. Ahora, supongamos que tienes un rango de direcciones /14 para los Pods. El rango /14 tiene 218 = 262,144 direcciones. Resta las 4096 direcciones que se usan para los servicios y obtendrás 258,048, lo que es suficiente para 900 nodos.

Clústeres nativos de la VPC

En GKE los clústeres se pueden distinguir por la forma en que enrutan el tráfico de un Pod a otro. Los clústeres que usan rangos de direcciones IP de alias se denominan clústeres nativos de la VPC. Para obtener más información, consulta Clústeres nativos de la VPC.

Cuando creas un grupo de nodos en un clúster nativo de la VPC, debes elegir un rango de direcciones IP secundario para asignar direcciones IP a los Pods de GKE. Los diferentes grupos de nodos pueden usar rangos secundarios diferentes para asignar direcciones IP de Pods. Para obtener más información, consulta CIDR de varios Pods. Network Analyzer calcula la proporción de asignación de cada rango de direcciones IP secundario que se usa para asignar direcciones IP de Pods en un clúster determinado. Si la proporción de asignación general es superior al 80%, obtienes una estadística de alto nivel de uso.

La proporción de asignación para un solo rango de direcciones IP secundario se calcula como se indica más abajo:

$\frac{\text {Dirección IP del rango secundario asignado a los nodos}}{\text {Tamaño del rango secundario}}$

Por ejemplo, un rango secundario /24 de Pods puede contener 256 Pods. Si hay solo 1 nodo con Pods max_pods_per_node, 110 y 16 predeterminados en ejecución, la proporción muestra el 100% (256/256), en lugar del 6.25% (16/256) porque, aunque no se usen 240 direcciones IP de los Pods, estas siguen perteneciendo a este nodo. Solo se puede crear con éxito otro nodo nuevo si hay 256 direcciones IP de Pods sin usar.

La asignación general se calcula como se indica a continuación:

$\frac{\text {Suma de las direcciones IP asignadas en todos los rangos de direcciones IP secundarios usados para asignar direcciones IP de Pods}}{\text {Suma del tamaño de los rangos de direcciones IP secundarios usados para asignar direcciones IP de Pods}}$

Por ejemplo, si la dirección IP predeterminada del Pod y el rango de direcciones IPv4 del Pod adicional se establecen en /22 y hay 2 grupos de nodos, un grupo de nodos usa el rango de direcciones IP predeterminado del Pod y tiene 3 nodos, mientras que el segundo grupo de nodos usa un rango de direcciones IP adicional del Pod y, también, tiene 3 nodos, con la cantidad máxima predeterminada de Pods establecida en 110. Kubernetes asigna un rango CIDR /24 a los nodos del clúster. Con nodos 6 y un rango CIDR /24 asignado, hay un total de 256 * 6 = 1536 direcciones IP. Esto representa el 75% de la cantidad total de direcciones IP disponibles en los dos rangos de direcciones IP de Pods (1024 * 2 = 2048).

Es importante tener en cuenta que, si la dirección IP secundaria se comparte entre diferentes clústeres, las estadísticas mostrarán el valor total agregado de todos los clústeres. Para consultar el uso de un solo rango de IP del clúster, puedes ejecutar gcloud container cluster describe CLUSTER_NAME para ver el estado de uso de cada dirección IP secundaria. Reemplaza CLUSTER_NAME por el nombre del clúster.

Recomendaciones

La asignación de rangos de Pods de GKE limita el escalado automático

Esta estadística indica que los rangos de direcciones IP de los Pods del clúster no tienen suficientes direcciones para admitir la creación de la cantidad máxima de nodos en todos los grupos de nodos. La página de detalles de la estadística incluye una tabla en la que se muestra la cantidad de direcciones IP de Pods que se usan en ese momento y la cantidad máxima de direcciones IP de Pods que hay en cada uno de los rangos de direcciones IP de Pods de tu clúster de GKE.

Network Analyzer genera esta estadística cuando el valor de uso de direcciones IP con escalado automático completo supera el 100%.

El valor de uso de direcciones IP con escalado automático completo supera el 100% cuando la cantidad de direcciones IP de Pods necesarias para admitir la cantidad máxima de nodos en el clúster supera la cantidad de direcciones IP que hay en los rangos de direcciones IP de Pods del clúster. La cantidad máxima de nodos del clúster es la suma de la cantidad máxima de nodos que hay en cada grupo de nodos del clúster (maxNodeCount).

El valor de uso de direcciones IP con escalado automático completo se calcula con la fórmula que se encuentra en Asignación alta de rangos de Pods de GKE.

Clústeres basados en rutas

Esta estadística se genera cuando la proporción de asignación del rango de direcciones de Pods es superior al 100% y todos los grupos de nodos tienen escalado automático completo. Los nodos de GKE no se crearán debido a la falta de espacio de direcciones IP.

Clústeres nativos de la VPC

Esta estadística se genera si algún rango de direcciones IP secundario usado para asignar direcciones IP de Pods no tiene suficiente espacio de direcciones IP sin asignar. El espacio de direcciones IP insuficiente no puede controlar la situación cuando todos los grupos de nodos tienen escalado automático completo.

Para obtener más información, consulta Prácticas recomendadas sobre las redes de GKE y Limitación del escalador automático de clústeres.

Recomendaciones

  • En el caso de los clústeres basados en rutas, vuelve a crear el clúster con un rango más grande de direcciones de Pods. Debes crear este clúster como un clúster nativo de la VPC porque es el modo de red recomendado. Consulta Clústeres nativos de la VPC y clústeres basados en rutas.
  • En el caso de los clústeres nativos de la VPC, agrega rangos de Pods adicionales a nivel del clúster con CIDR de varios Pods y habilita el aprovisionamiento automático de nodos para automatizar el escalamiento de nodos con la asignación automática de direcciones IP de Pods. Con el objetivo de controlar mejor qué direcciones IP de Pods se usan para cada grupo de nodos, puedes crear los grupos de nodos que usan un rango de direcciones IP secundarias específico con el CIDR de varios Pods. Sin embargo, esto solo se aplica a los clústeres estándar.