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 Google Kubernetes Engine para comprender los perfiles de uso de los clústeres de GKE y vincular el uso a equipos de individuos o unidades de negocios dentro de tu organización. La medición de uso no afecta la facturación de tu proyecto, te permite comprender el uso del recurso en un nivel detallado.

Descripción general

De manera predeterminada, puedes encontrar información sobre el uso de recursos del clúster de GKE en el nivel del proyecto de Google Cloud Platform. La medición de uso hace un seguimiento del uso de recursos individuales del clúster como CPU, GPU, memoria, salida de red y almacenamiento. Puedes diferenciar el uso de recursos con espacio de nombres o etiquetas de Kubernetes, o con una combinación de ambos. Los datos se almacenan en BigQuery y puedes exportarlos para analizarlos mediante herramientas externas como Google Data Studio.

La medición de uso es útil para las siguientes situaciones:

  • Hacer un seguimiento del uso por instancia en un clúster de varias instancias, en el que cada instancia opera dentro de un espacio de nombres determinado del clúster.
  • Determinar el uso de una aplicación que se ejecuta en un clúster específico, mediante la asignación de una etiqueta única a los objetos de Kubernetes que pertenecen a la aplicación.

Limitaciones

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

Se aplican las siguientes limitaciones:

  • Los descuentos especiales de contrato y créditos no se tienen en cuenta.
  • El espacio de nombres o la etiqueta no realizan el seguimiento de los recursos creados fuera del alcance de GKE.
  • Se hace un seguimiento de CPU, GPU, memoria, almacenamiento y salida de red.
  • La medición de uso actualmente no funciona con nodos que usan tipos personalizados de máquinas.

Requisitos previos

Antes de utilizar la medición de uso, debes cumplir los siguientes requisitos previos:

  • GKE v1.10.9-gke.5 y posterior o v1.11.4-gke.8 y posterior.
  • Versión 227.0.0 o posterior del comando de gcloud. Usa gcloud --version para comprobar.
  • Debes habilitar la API de BigQuery en tu proyecto de Google Cloud Platform. Si habilitaste GKE después de julio de 2018, esto ya está hecho.
  • Debes habilitar la exportación de facturación para BigQuery.

Cómo habilitar el medidor de uso

Para habilitar el medidor de uso, primero debes crear un conjunto de datos de BigQuery de un clúster, varios clústeres en el proyecto o el proyecto completo. 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.

A continuación, creas o modificas el clúster para usar el medidor de uso.

Cómo crear el conjunto de datos de BigQuery

Para usar la medición de uso de clústeres en tu proyecto de Google Cloud Platform, primero crea el conjunto de datos de BigQuery y luego configura los clústeres para usarlo. Puedes usar un único conjunto de datos de BigQuery para almacenar la información de medición de uso de varios clústeres en el mismo proyecto.

Consulta Cómo crear conjuntos de datos para obtener más detalles.

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

Para habilitar la medición de uso de un clúster nuevo o existente, usa el marcador --resource-usage-bigquery-dataset BIGQUERY_DATASET cuando generes tu comando de gcloud. Actualmente, no puedes habilitar la medición de uso mediante Google Cloud Platform Console.

Cómo crear un clúster nuevo:

gcloud

Para crear un clúster con la medición de uso habilitada, ejecuta el siguiente comando. Sustituye el nombre de tu clúster en los casos en que veas test-cluster, y haz lo mismo con tu conjunto de datos de BigQuery en los casos en que veas test_usage_metering_dataset.

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

gcloud beta container clusters create test-cluster \
  --resource-usage-bigquery-dataset test_usage_metering_dataset

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

Cómo modificar un clúster existente:

gcloud

Para habilitar la medición de uso en un clúster existente, ejecuta el siguiente comando. Sustituye el nombre de tu clúster en los casos en que veas test-cluster, y haz lo mismo con el nombre del conjunto de datos de BigQuery en los casos en que veas test_usage_metering_dataset.

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

gcloud beta container clusters update test-cluster \
  --resource-usage-bigquery-dataset test_usage_metering_dataset

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

Cómo inhabilitar la medición de uso

gcloud

Para inhabilitar la medición de uso en un clúster, ejecuta el siguiente comando. Sustituye el nombre de tu clúster en los casos en que veas test-cluster.

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

gcloud beta container clusters update test_cluster \
  --clear-resource-usage-bigquery-dataset

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

Para verificar que la medición de uso esté habilitada en un clúster, y qué conjunto de datos de BigQuery almacena los datos de medición de uso, usa el comando gcloud beta container clusters describe. En el siguiente ejemplo, sustituye el nombre de tu clúster en los casos en que veas test-cluster.

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

gcloud beta container clusters describe test-cluster \
  --format="value(resourceUsageExportConfig)"

El resultado estará vacío si la medición del uso no está habilitada, y de lo contrario, mostrará el conjunto de datos de BigQuery que utiliza el clúster, como se muestra en el siguiente resultado:

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

Datos de medición de uso en BigQuery

En la siguiente tabla, se describe el contenido de los datos de medición de uso que se exporta a BigQuery.

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 GCP.
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 de GCP subyacente. 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 usada.
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.

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

Un conjunto de datos puede retener los datos de medición de uso para 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 de simplicidad y nivel de detalle para tus necesidades.

Cómo ver los datos de medición de uso con BigQuery

Para ver los datos de medición de uso con BigQuery, consulta la tabla gke_cluster_resource_usage dentro del conjunto de datos relevante de BigQuery. Para obtener más información sobre cómo usar las consultas en Cloud Bigtable, consulta Cómo ejecutar consultas. Los campos en el esquema son estables, aunque se pueden agregar más campos en el futuro.

Esta consulta es solo un ejemplo. Personaliza tu consulta para encontrar los datos que necesitas.

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

SELECT
  cluster_name,
  labels,
  fraction
FROM
  `PROJECT-ID.USAGE_METERING.gke_cluster_resource_usage`
WHERE
  namespace="accounting"

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

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

Puedes ver tus datos de medición de uso 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 de informe de manera dinámica. Si eres un usuario avanzado de Data Studio y BigQuery, puedes crear un panel totalmente personalizado, pero también puedes clonar el panel que creamos específicamente para la medición de uso.

Luego de que cumplas con los requisitos previos, crea las fuentes de datos de Data Studio, que consultan los datos de la medición de uso y de Cloud Billing en BigQuery. A continuación, copia un panel de Data Studio en tu proyecto y configúralo para que use tus tres fuentes de datos. Por último, puedes usar el panel para comprender la medición de uso de tus clústeres.

Requisitos previos

  1. Habilita Exportar datos de facturación de Google Cloud Platform a BigQuery, si esta opción todavía no está habilitada. Durante este proceso, crea un conjunto de datos, pero la tabla dentro del conjunto de datos tarda hasta 5 horas en aparecer y comenzar a propagarse. Cuando aparezca la tabla, anota su nombre. Su nombre será similar a gcp_billing_export_v1_<var>BILLING_ACCOUNT_ID</var>.
  2. Habilita Data Studio si esta opción todavía no está habilitada.
  3. Reúne la siguiente información, ya que la necesitarás para modificar las consultas que controlan el panel:

    • El conjunto de datos de exportación de Cloud Billing y el nombre de la tabla del primer requisito previo
    • El conjunto de datos de la medición de uso y nombre de la tabla, creada en Cómo crear un conjunto de datos de BigQuery
    • ID del proyecto de GCP

Cómo crear las fuentes de datos de BigQuery

Estas consultas son complejas, pero solo necesitas reemplazar los valores de los marcadores de posición con los valores que recopilaste cuando completaste los requisitos previos. En cada una de las consultas, realiza los siguientes reemplazos:

  • Reemplaza PROJECT_ID con el ID de tu proyecto (no el nombre del proyecto).
  • Reemplaza USAGE_METERING_DATASET con el conjunto de datos en el que tu clúster escribe su medición de uso.
  • Reemplaza BILLING_DATASET y BILLING_TABLE con el conjunto de datos y la tabla en la que se exportan los datos de Cloud Billing.

Para cada una de las consultas a continuación, crea una fuente de datos de Data Studio.

  1. Visita Fuentes de datos.
  2. Haz clic en el ícono + cerca de la parte inferior derecha de la pantalla para agregar una fuente de datos.
  3. Selecciona BigQuery.
  4. Selecciona Consulta personalizada, y luego selecciona el ID de tu proyecto.
  5. Nombra tu fuente de datos. Haz clic en las palabras Fuente de datos sin título en la parte superior de la pantalla y reemplaza el texto con un nombre descriptivo para tu consulta. Los encabezados de cada consulta, a continuación, son nombres apropiados para las fuentes de datos.
  6. Después de reemplazar todos los marcadores de posición en la consulta, pégala en el Editor de consultas. Asegúrate de que la opción Usar SQL heredado no esté seleccionada.
  7. Haz clic en Conectar en la esquina superior derecha de la pantalla.

Consulta BreakdownQuery

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

SELECT
  resource_usage.cluster_name,
  resource_usage.cluster_location,
  resource_usage.namespace,
  resource_usage.labels,
  resource_usage.resource_name,
  resource_usage.sku_id,
  resource_usage.start_time AS usage_start_time,
  resource_usage.end_time AS usage_end_time,
  resource_usage.usage.amount * gcp_billing_export.rate AS cost
FROM
  `PROJECT_ID.USAGE_METERING_DATASET.gke_cluster_resource_usage` AS resource_usage
LEFT JOIN (
  SELECT
    sku.id AS sku_id,
    SUM(cost) / SUM(usage.amount) AS rate,
    MIN(usage_start_time) AS min_usage_start_time,
    MAX(usage_end_time) AS max_usage_end_time
  FROM
    `PROJECT_ID.BILLING_DATASET.BILLING_TABLE`
  WHERE
    project.id = "PROJECT_ID"
  GROUP BY
    sku_id) AS gcp_billing_export
ON
  resource_usage.sku_id = gcp_billing_export.sku_id
WHERE
  resource_usage.start_time >= gcp_billing_export.min_usage_start_time
  AND resource_usage.end_time <= gcp_billing_export.max_usage_end_time

Consulta GKEProjectCostFromGCP

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

SELECT
*
FROM
  `PROJECT_ID.BILLING_DATASET.BILLING_TABLE`
WHERE
  project.id = "PROJECT_ID"

Cómo crear el panel de Data Studio

Creamos un panel que puedes copiar en tu proyecto. Cuando copias el panel, se te solicita que selecciones tres fuentes de datos que acabas de crear.

  1. Haz clic en este vínculo de panel.
  2. Haz clic en el botón Copiar, ícono Hacer una copia de este informe, en la parte superior derecha de la pantalla.
  3. Para las fuentes de datos, selecciona las fuentes de datos que acabas de crear. Usa BreakdownQuery en el primer campo y GKEProjectCostFromGCP en el segundo.
  4. Haz clic en Crear informe.

Estos pasos se muestran en una animación en Demostración del panel de medición de uso.

Se crea el panel, y puedes acceder a él en cualquier momento en la lista de informes de Data Studio de tu proyecto.

Cómo usar el panel de Data Studio

Cada pantalla del panel se muestra también en la animación en Demostración del panel de medición de uso.

El panel contiene tres páginas separadas:

  • La medición de uso Monthly View (Vista mensual) muestra la proporción general del uso del clúster entre todos los clústeres que miden el uso en el proyecto, así como información detallada sobre el tipo de recurso (como CPU o memoria) por espacio de nombres. Puedes limitar los datos del informe a uno o más clústeres o espacios de nombres individuales.

    Ejemplo de la medición de uso Vista mensual

  • La medición del uso Cost Trends by Namespace (Tendencias de costos por espacio de nombres) muestra las tendencias de uso para todos los clústeres que usan medición de uso, por espacio de nombres. Puedes seleccionar uno o más clústeres, espacios de nombres, recursos o SKU individuales.

    Ejemplo de la medición de uso Tendencias de costos por espacio de nombres

  • La medida de uso Cost Trends by Label (Tendencias de costo por etiqueta) muestra las tendencias de uso para todos los clústeres que usan medición del uso, por etiqueta. Puedes seleccionar uno o más clústeres, espacios de nombres, recursos o SKU individuales.

    Ejemplo de la medición de uso Tendencias de costos por etiqueta

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 +.

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.

Demostración del panel de medición de uso

La siguiente animación muestra los pasos para crear y usar el panel. Si la animación no se reproduce automáticamente, haz clic en cualquier parte de la animación para iniciarla.

Demostración del panel de medición de uso, también descrito en el texto

Qué sigue

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...