Estadísticas de utilización de direcciones IP de GKE

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

Consulta las estadísticas en la API de Recommender

Para ver estas estadísticas en gcloud CLI o la API de Recommender, usa el siguiente tipo de estadística:

  • google.networkanalyzer.container.ipAddressInsight

Necesitas los siguientes permisos:

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

Para obtener más información sobre el uso de la API de Recommender para las estadísticas de Network Analyzer, consulta Cómo usar la CLI y la API de Recommender.

Asignación alta de rangos de Pods de GKE

Esta estadística indica que la utilización 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 tu clúster se creó como un clúster nativo de la VPC o 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. Un clúster que usa rutas de Google Cloud se denomina clúster basado en rutas. Para obtener más información, consulta Crea un clúster basado en rutas.

Un clúster basado en rutas tiene un rango de direcciones IP que se usan para Pods y servicios. Aunque el rango se usa para Pods y servicios, se denomina Rango de direcciones de Pods.

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

Cada nodo del rango de direcciones del Pod tiene un rango de direcciones IP /24 para los Pods. Un rango /24 tiene 28 = 256 direcciones. Recuerda que las direcciones 4096 en el rango de direcciones de pods se usan para los servicios. La porción restante del rango de direcciones de pods se usa para pods y debe ser lo suficientemente grande como para contener la cantidad de nodos x 256 direcciones.

La proporción de asignación para el rango de direcciones de Pods se calcula de la siguiente manera:

$\frac{\text {Cantidad de nodos de GKE} \times {256}}{\text {Tamaño del rango de direcciones de Pods}-{4096}}$

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

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. Un clúster que usa rangos de direcciones IP de alias se denomina clúster nativo 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 seleccionar un rango de direcciones IP secundario para asignar 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 utilización alta.

La proporción de asignación para un solo rango de direcciones IP secundario se calcula de la siguiente manera:

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

Por ejemplo, un rango de pods secundarios /24 puede contener 256 pods. Si solo hay un nodo 1 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 usan las direcciones IP del Pod 240, estas aún pertenecen a este nodo. Solo se puede crear otro nodo nuevo de forma correcta si hay 256 direcciones IP de Pod sin usar.

La asignación general se calcula de la siguiente manera:

$\frac{\text {Suma de IPs asignadas en todos los rangos de direcciones IP secundarios usados para asignar direcciones IP de Pods}}{\text {Suma de tamaños de 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 están configurados 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 de CIDR /24 a los nodos del clúster. Con 6 nodos 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 Pod (1024 * 2 = 2048).

Es importante tener en cuenta que, si la dirección IP secundaria se comparte entre distintos clústeres, las estadísticas muestran el valor total agregado de todos los clústeres. Para ver 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 ajuste de escala automático

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

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

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

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

Clústeres basados en rutas

Esta estadística se genera cuando la proporción de asignación para el rango de direcciones de Pods es superior al 100% y todos los grupos de nodos tienen ajuste de escala automático. 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 IP sin asignar. El espacio de direcciones IP insuficiente no puede manejar la situación cuando todos los grupos de nodos tienen ajuste de escala automático.

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

Recomendaciones

  • Para los clústeres basados en rutas, vuelve a crear el clúster con un rango de direcciones de Pods más grande. Crea este clúster como un clúster nativo de la VPC, ya que es el modo de red recomendado. Consulta Clústeres nativos de la VPC y basados en rutas.
  • En el caso de los clústeres nativos de la VPC, agrega rangos de Pods adicionales al 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 Pod. Si deseas tener más control sobre qué direcciones IP del Pod se usan para qué grupo de nodos, puedes crear los grupos de nodos que usan un rango específico de direcciones IP secundarias con CIDR de varios pods. Sin embargo, esto solo se aplica a los clústeres Standard.