Información sobre el uso de recursos del clúster

En esta página, se explica cómo usar la medición de uso de GKE para obtener información sobre los perfiles de uso de los clústeres de Google Kubernetes Engine (GKE) y vincular su uso a equipos individuales o unidades de negocios dentro de tu organización. La medición de uso de GKE no afecta la facturación de tu proyecto y te permite obtener información sobre el uso del recurso en un nivel detallado.

Descripción general

La medición de uso de GKE realiza un seguimiento de la información sobre las solicitudes de recursos y el uso real de los recursos de las cargas de trabajo de tu clúster. En la actualidad, la medición de uso de GKE realiza un seguimiento de la información sobre la CPU, la GPU, la TPU, la memoria, el almacenamiento y, de forma opcional, la salida de red. Puedes diferenciar el uso de los recursos con espacios de nombres o etiquetas de Kubernetes, o con una combinación de ambos.

Los datos se almacenan en BigQuery y puedes consultarlos directamente o exportarlos para analizarlos mediante herramientas externas como Google Data Studio.

La medición de uso de GKE es útil en situaciones como las siguientes:

  • Hacer un seguimiento del consumo real de recursos y de las solicitudes de recursos por instancia en un clúster multiusuario, en el que cada instancia opera dentro de un determinado espacio de nombres.
  • Determinar el consumo de los recursos de una carga de trabajo en ejecución en un determinado clúster mediante la asignación de una etiqueta única a los objetos de Kubernetes asociados con la carga de trabajo.
  • Identificar las cargas de trabajo cuyas solicitudes de recursos difieran de forma significativa del consumo real de los recursos, de manera que puedas asignar los recursos de manera más eficiente a cada carga de trabajo.

Cambios desde la versión Beta inicial

Se realizaron los siguientes cambios en la medición de uso de GKE desde el lanzamiento de la versión Beta inicial:

  • Ahora se realiza un seguimiento del consumo real de los recursos, además de las solicitudes de recursos. Se realiza un seguimiento del consumo de los recursos de los clústeres que ejecutan v1.12.8-gke.8 y versiones posteriores, v1.13.6-gke.7 y versiones posteriores, o 1.14.2-gke.8 y versiones posteriores. La medición del consumo de los recursos se almacena en la tabla gke_cluster_resource_consumption del conjunto de datos de BigQuery. Antes, solo se realizaba un seguimiento de las solicitudes de recursos.
  • Ahora se realiza un seguimiento de las solicitudes de TPU (pero no del consumo real de los recursos).
  • Ahora puedes realizar un seguimiento de las solicitudes de recursos y el consumo real de los recursos en los nodos mediante los tipos personalizados de máquina.
  • Ahora puedes habilitar la medición de uso de GKE cuando creas o actualizas un clúster en Google Cloud Console.
  • Si se borra la tabla de BigQuery, la medición de uso de GKE ahora la vuelve a crear automáticamente. Se pierden los datos históricos.
  • Si se borra el conjunto de datos de BigQuery, la medición de uso de GKE no lo vuelve a crear de forma automática. El usuario debe asegurarse de que el conjunto de datos exista.

Actualiza

Todos los cambios son retrocompatibles con la versión Beta inicial; no es necesario modificar ni migrar los datos.

Cuando actualizas un clúster a una versión de GKE que admite la medición del consumo de los recursos, no se habilita de forma automática. Debes habilitarlo de forma explícita mediante la marca --enable-resource-consumption-metering. Se crea una tabla adicional de forma automática en el conjunto de datos de BigQuery. Ambas tablas usan el mismo esquema.

Después de actualizar, solo necesitas crear un nuevo panel de Data Studio para agregar la información sobre el consumo real de los recursos.

Limitaciones

Puedes usar las consultas de ejemplo de BigQuery y la plantilla de Google Data Studio para unir los datos de la medición de uso de GKE con los datos de facturación de Google Cloud exportados en BigQuery y estimar un desglose de costos por clúster, espacio de nombres y etiquetas. Los datos de la medición de uso de GKE solo son orientativos y no afectan tu factura de Google Cloud. Para los datos de facturación, tu factura de Google Cloud es la única fuente verídica.

Se aplican las siguientes limitaciones:

  • No se tienen en cuenta los descuentos o créditos especiales de contrato.
  • El espacio de nombres y la etiqueta no realizan el seguimiento de los recursos creados fuera del alcance de GKE.
  • En la actualidad, no se admiten los tipos de máquina N2.

Requisitos previos

Antes de usar la medición de uso de GKE, debes cumplir con los siguientes requisitos previos:

  • Para realizar un seguimiento del consumo real de los recursos, el clúster debe usar GKE v1.11.10-gke.5 o una versión posterior, v1.12.8-gke.8 o una versión posterior, v1.13.6-gke.7 o una versión posterior, o 1.14.2-gke.3 o una versión posterior.
  • Debes habilitar la opción Exporta datos de facturación a BigQuery. Los cargos se asocian con el uso de BigQuery.
  • Se necesita la versión 250.0.0 o una versión posterior del comando de gcloud. Usa gcloud --version para realizar una verificación.
  • Debes habilitar la API de BigQuery en tu proyecto de Google Cloud. Si habilitaste GKE después de julio de 2018, esto ya está hecho.

Cómo habilitar la medición de uso de GKE

Para habilitar la medición de uso de GKE, primero debes crear un conjunto de datos de BigQuery en un clúster, en varios clústeres del proyecto o en todo el proyecto. Para obtener más información sobre cómo elegir una asignación entre conjuntos de datos y clústeres, consulta Cómo elegir uno o más conjuntos de datos de BigQuery.

Luego, debes habilitar la medición de uso de GKE cuando crees un clúster nuevo o modifiques un clúster existente.

De manera opcional, puedes crear un panel de Google Data Studio para visualizar el uso de los recursos de tus clústeres.

Cómo crear el conjunto de datos de BigQuery

Si quieres usar la medición de uso de GKE para los clústeres en tu proyecto de Google Cloud, primero, debes crear el conjunto de datos de BigQuery y, luego, configurar los clústeres a fin de que lo usen. Puedes usar un único conjunto de datos de BigQuery para almacenar información sobre el uso de los recursos de varios clústeres en el mismo proyecto.

Consulta Crea un conjunto de datos para obtener más detalles. Configura la Default table expiration del conjunto de datos como Never para que la tabla no caduque. Sin embargo, en la segunda versión Beta de la medición de uso de GKE, si una tabla caduca, se vuelve a crear de forma automática (como una tabla vacía).

Cómo habilitar la medición de uso de GKE para un clúster

A fin de habilitar la medición de uso de GKE para un clúster nuevo o existente, usa el comando de gcloud o Cloud Console.

Para los clústeres que ejecutan GKE v1.12.8-gke.8 y versiones posteriores, o v1.13.6-gke.7 y versiones posteriores, la habilitación de la medición de uso de GKE también habilita la medición del consumo de los recursos de forma predeterminada. Si quieres inhabilitar de forma selectiva la medición del consumo de los recursos, pero deseas seguir realizando un seguimiento de las solicitudes de recursos, consulta en este tema las instrucciones específicas de habilitación de la medición de uso de GKE mediante el comando de gcloud.

La medición de salida de red se encuentra inhabilitada de forma predeterminada. Para habilitarla, consulta las advertencias y las instrucciones en Cómo habilitar la medición de salida de red (opcional) en este tema.

Cómo crear un clúster nuevo

gcloud

Para crear un clúster con la medición de uso de GKE habilitada, ejecuta el siguiente comando.

Para insertar tus propios valores en el ejemplo antes de pegarlo, haz clic en cualquier campo que esté highlighted a fin de editar su valor. Para restablecer los valores, actualiza esta página.

gcloud container clusters create [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]

La medición del consumo de los recursos se encuentra habilitada de forma predeterminada en los clústeres que ejecutan GKE v1.12.8-gke.8 y versiones posteriores, o v1.13.6-gke.7 y versiones posteriores. Para inhabilitarla y solo realizar un seguimiento de las solicitudes de recursos, agrega la marca --no-enable-resource-consumption-metering al comando anterior. También debes modificar las consultas de ejemplo en el resto de este tema para que no realicen consultas sobre el consumo de los recursos.

Si es necesario, se crean las tablas requeridas dentro del conjunto de datos de BigQuery cuando se inicia el clúster.

Console

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en Crear clúster.

  3. Elige la plantilla Clúster estándar o elige una plantilla adecuada para tu carga de trabajo.

  4. Haz clic en Disponibilidad, herramientas de redes, seguridad y características adicionales.

  5. Selecciona Habilitar la medición de uso de GKE.

  6. Ingresa el nombre de tu conjunto de datos de BigQuery.

  7. De forma opcional, habilita la opción Habilitar la medición de salida de red después de revisar las advertencias y las instrucciones en Cómo habilitar la medición de salida de red (opcional).

  8. Continúa con la configuración del clúster y, luego, haz clic en Guardar.

Cómo configurar un clúster existente

gcloud

Para habilitar la medición de uso de GKE en un clúster existente, ejecuta el siguiente comando.

Para insertar tus propios valores en el ejemplo antes de pegarlo, haz clic en cualquier campo que esté highlighted a fin de editar su valor. Para restablecer los valores, actualiza esta página.

gcloud container clusters update [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]"

La medición del consumo de los recursos se encuentra habilitada de forma predeterminada en los clústeres que ejecutan GKE v1.12.8-gke.8 y versiones posteriores, o v1.13.6-gke.7 y versiones posteriores. Para inhabilitarla y solo realizar un seguimiento de las solicitudes de recursos, agrega la marca --no-enable-resource-consumption-metering al comando anterior. También debes modificar las consultas de ejemplo en el resto de este tema para que no realicen consultas sobre el consumo de los recursos.

También puedes cambiar el conjunto de datos que usa un clúster existente para almacenar sus datos de la medición de uso si cambias el valor de la marca --resource-usage-bigquery-dataset.

Si es necesario, se crea una tabla dentro del conjunto de datos de BigQuery cuando se actualiza el clúster.

Console

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en el botón Editar del clúster que deseas modificar. Parece un lápiz.

  3. Habilita la medición de uso de GKE.

  4. Ingresa el nombre del conjunto de datos de BigQuery.

  5. De forma opcional, habilita la opción Habilitar la medición de salida de red después de revisar las advertencias y las instrucciones en Cómo habilitar la medición de salida de red (opcional).

  6. Continúa con la configuración del clúster y, luego, haz clic en Guardar.

Cómo habilitar la medición de salida de red (opcional)

Según la configuración predeterminada, no se recopilan ni exportan los datos de salida de red. La medición de la salida de red requiere un agente de medición de red (NMA) que se ejecute en cada nodo. El NMA se ejecuta como un pod con privilegios, consume algunos recursos en el nodo (CPU, memoria y espacio de disco) y habilita la marca nf_conntrack_acct sysctl en el kernel (para la contabilidad de flujo de seguimiento de conexión).

Si no tienes problemas con estas condiciones, puedes habilitar el seguimiento de salida de red y usarlo con la medición de uso de GKE. Para habilitar el seguimiento de salida de red, incluye la opción --enable-network-egress-metering cuando crees o actualices el clúster, o selecciona la opción Habilitar medición de salida de red cuando habilites la medición de uso de GKE en Google Cloud Console.

Cómo verificar que la medición de uso de GKE esté habilitada

Para verificar que la medición de uso de GKE esté habilitada en un clúster y qué conjunto de datos de BigQuery almacena los datos de uso de los recursos del clúster, usa el comando gcloud container clusters describe.

Para insertar tus propios valores en el ejemplo antes de pegarlo, haz clic en cualquier campo que esté highlighted a fin de editar su valor. Para restablecer los valores, actualiza esta página.

gcloud container clusters describe [CLUSTER-NAME]\
  --format="value(resourceUsageExportConfig)"

Si la medición de uso de GKE no se encuentra habilitada, la salida estará vacía; de lo contrario, mostrará el conjunto de datos de BigQuery que usó el clúster, como se muestra en el siguiente resultado:

bigqueryDestination={u'datasetId': u'test_usage_metering_dataset'}

Cómo inhabilitar la medición de uso de GKE

gcloud

Para inhabilitar la medición de uso de GKE en un clúster, ejecuta el siguiente comando.

Para insertar tus propios valores en el ejemplo antes de pegarlo, haz clic en cualquier campo que esté highlighted a fin de editar su valor. Para restablecer los valores, actualiza esta página.

gcloud container clusters update [CLUSTER-NAME] \
  --clear-resource-usage-bigquery-dataset

Console

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en el botón Editar del clúster que deseas modificar. Parece un lápiz.

  3. Inhabilita la medición de uso de GKE.

  4. Haz clic en Guardar.

Cómo elegir uno o más conjuntos de datos de BigQuery

Un conjunto de datos puede contener los datos de la medición de uso de GKE de uno o más clústeres en tu proyecto. El uso de uno o varios conjuntos de datos depende de tus necesidades de seguridad:

  • Un único conjunto de datos para todo el proyecto simplifica la administración.
  • Un conjunto de datos por clúster te permite delegar el acceso detallado a los conjuntos de datos.
  • Un conjunto de datos por grupo relacionado de clústeres te permite encontrar la combinación correcta entre simplicidad y nivel de detalle para tus necesidades.

Cómo ver los datos de la medición de uso de GKE mediante un panel de Data Studio

Puedes ver tus datos de la medición de uso de GKE con el panel de Data Studio, que te permite filtrar tus datos por nombre de clúster, espacio de nombres o etiqueta, y ajustar el período del informe de manera dinámica. Si eres un usuario avanzado de Data Studio y BigQuery, puedes crear un panel completamente personalizado, pero también puedes clonar el panel que creamos para la medición de uso de GKE en particular.

Puedes usar el panel para visualizar el consumo y las solicitudes de recursos de tus clústeres a lo largo del tiempo.

Requisitos previos

  1. Habilita la opción Exportar datos de facturación de Google Cloud a BigQuery, si todavía no se encuentra habilitada. Durante este proceso, creas un conjunto de datos, pero la tabla dentro del conjunto de datos tarda hasta 5 horas en aparecer y comenzar a propagarse. Cuando aparece la tabla, su nombre es gcp_billing_export_v1_[BILLING_ACCOUNT_ID].
  2. Habilita la medición de uso de GKE en al menos un clúster del proyecto. Toma nota del nombre que elegiste para el conjunto de datos de BigQuery.
  3. Habilita Data Studio si esta opción todavía no está habilitada.
  4. Recopila la siguiente información, que es necesaria para configurar el panel:

    • ID y tabla de datos del conjunto de datos de exportación de Cloud Billing
    • ID del conjunto de datos de la medición de uso de GKE

Cómo crear el panel de Data Studio

Se optimizó el proceso de creación de la fuente de datos y el panel. Luego de que cumplas con los requisitos previos, usa un conector de Data Studio personalizado para crear la fuente de datos y el panel de forma automática.

  1. Accede al conector de Data Studio de la medición de uso de GKE.

    También puedes encontrar el conector si visitas la galería del conector de Data Studio y buscas medición de uso de GKE.

  2. Lee y acepta la solicitud para otorgar al conector los permisos que necesita.

  3. Cuando se te solicite, proporciona el ID del proyecto, el ID y la tabla del conjunto de datos de exportación de Cloud Billing y el ID del conjunto de datos de la medición de uso de GKE.

  4. Habilita la medición del consumo de los recursos, si está habilitada en tu clúster. Esto se aplica a la mayoría de los usuarios.

  5. Haz clic en Conectar. Se crea una nueva fuente de datos, con el nombre predeterminado Medición de uso de GKE. De forma opcional, puedes hacer clic en el nombre que aparece en el encabezado de la página para cambiarlo.

  6. Haz clic en Crear informe para crear el panel de Data Studio.

El panel se crea y se abre en el editor de panel. Para ver y usar el panel, haz clic en Ver.

Puedes acceder al panel en cualquier momento en la lista de informes de Data Studio de tu proyecto.

Cómo usar el panel de Data Studio

El panel contiene varios informes:

Desglose de uso
Es la proporción general de uso del clúster entre todos los clústeres que envían los datos de la medición de uso a la misma fuente de datos de BigQuery, así como información detallada sobre el tipo de recurso (como CPU, memoria o salida de red) por espacio de nombres. Puedes limitar los datos del informe a uno o más clústeres o espacios de nombres individuales.
Desglose de uso con recursos sin asignar
Este informe es similar al anterior, pero distribuye los recursos sin asignar de forma proporcional en todos los espacios de nombres. Los recursos sin asignar son los recursos inactivos y los recursos que no estén asignados a instancias específicas por la medición de uso de GKE.
Tendencias de costos: desglosadas por espacio de nombres
Son las tendencias de uso de todos los clústeres que envían datos de la medición de uso a la misma fuente de datos de BigQuery, por espacio de nombres. Puedes seleccionar uno o más clústeres, espacios de nombres, recursos o SKU individuales.
Tendencias de costos: desglosadas por etiqueta
Son las tendencias de costos de todos los clústeres que envían datos de la medición de uso a la misma fuente de datos de BigQuery. Puedes seleccionar uno o más clústeres, recursos, o nombres o valores de etiqueta individuales.
Medición basada en el consumo
Son las tendencias de consumo de todos los clústeres que envían datos de la medición de uso a la misma fuente de datos de BigQuery. Puedes seleccionar uno o más espacios de nombres, o claves o valores de etiqueta individuales. Este informe solo se propaga si la medición del consumo de los recursos se encuentra habilitada en al menos un clúster.

Puedes cambiar páginas con las flechas que están cerca de la parte superior izquierda de la pantalla. Puedes cambiar el plazo de una página con el selector de fecha. Para compartir el informe con los miembros de tu organización o revocar el acceso, haz clic en el vínculo Compartir informe, que se parece a una persona con un símbolo +.

En esta animación, se muestra cada pantalla en el panel.

Después de copiar el informe en tu proyecto, puedes personalizarlo con el editor de informes de Data Studio. Incluso si la plantilla de informe proporcionada por Google cambia, tu copia no se verá afectada.

Cómo explorar los datos de la medición de uso de GKE con BigQuery

Para ver los datos de las solicitudes de recursos con BigQuery, consulta la tabla gke_cluster_resource_usage dentro del conjunto de datos relevante de BigQuery.

Para ver los datos del consumo real de los recursos, consulta la tabla gke_cluster_resource_consumption. Los datos del consumo de salida de red permanecen en la tabla gke_cluster_resource_usage, ya que no existe un concepto de solicitudes de recursos para las salidas.

Para obtener más información sobre cómo usar consultas en BigQuery, lee la sección Ejecuta consultas. Los campos en el esquema son estables, aunque se pueden agregar más campos en un futuro.

Estas consultas son ejemplos simples. Personaliza tu consulta para encontrar los datos que necesitas.

Cómo consultar las solicitudes de recursos

Para insertar tus propios valores en el ejemplo antes de pegarlo, haz clic en cualquier campo que esté highlighted a fin de editar su valor. Para restablecer los valores, actualiza esta página.

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_usage`
WHERE
  namespace="[NAMESPACE]"

Cómo consultar el consumo de los recursos

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_consumption`
WHERE
  namespace="[NAMESPACE]"

Más ejemplos

Amplía las siguientes secciones para ver ejemplos más detallados.

Esquema de la medición de uso de GKE en BigQuery

En la siguiente tabla, se describe el esquema de las tablas de la medición de uso de GKE en el conjunto de datos de BigQuery. Si tu clúster ejecuta una versión de GKE que admite la medición del consumo de los recursos y las solicitudes de recursos, se creará una tabla adicional con el mismo esquema.

Campo Tipo Descripción
cluster_location STRING El nombre de la zona o región de Compute Engine en la que reside el clúster de GKE.
cluster_name STRING El nombre del clúster de GKE.
namespace STRING El espacio de nombres de Kubernetes a partir del cual se genera el uso.
resource_name STRING El nombre del recurso, como “cpu”, “memoria” y “almacenamiento”.
sku_id STRING El ID de SKU del recurso subyacente de la nube de Google Cloud.
start_time TIMESTAMP La marca de tiempo de UNIX que indica cuándo comenzó el uso.
end_time TIMESTAMP La marca de tiempo de UNIX que indica cuándo finalizó el uso.
fraction FLOAT La fracción de un recurso de la nube se utilizó. Para un recurso de nube dedicado que solo utiliza un único espacio de nombres, la fracción es siempre 1.0. Para los recursos compartidos entre varios espacios de nombres, la fracción se calcula como la cantidad solicitada dividida por la capacidad total del recurso de nube subyacente.
cloud_resource_size INTEGER El tamaño del recurso subyacente de Google Cloud. Por ejemplo, el tamaño de las CPU virtuales en las instancias n1-standard-2 es 2.
labels.key STRING La clave de una etiqueta de Kubernetes asociada al uso.
labels.value STRING El valor de una etiqueta de Kubernetes asociada al uso.
project.id STRING El ID del proyecto en el que reside el clúster de GKE.
usage.amount FLOAT La cantidad de usage.unit que se usó.
usage.unit STRING La unidad base en la que se mide el uso del recurso. Por ejemplo, la unidad base para el almacenamiento estándar es bytes por segundos.

Próximos pasos