En este documento, se describe la capacidad de procesamiento de registros predeterminada y cómo aumentarla.
Cuando el registro del sistema está habilitado, un agente de Logging exclusivo se implementa y administra de forma automática. Se ejecuta en todos los nodos de GKE en un clúster para recopilar registros, agrega metadatos útiles sobre el contenedor, el Pod y el clúster y, luego, envía los registros a Cloud Logging mediante un agente basado en Flufluent.
El agente de Logging dedicado proporciona al menos 100 KiB por segundo de capacidad de procesamiento de registro por nodo para los registros del sistema y de la carga de trabajo. Si un nodo tiene poco uso, según el tipo de carga de registro (por ejemplo, texto o entradas de registro estructuradas, muy pocos contenedores en el nodo o muchos contenedores), el agente de registro dedicado puede proporcionar capacidad de procesamiento de hasta 500 KiB por segundo o más. Además, en los clústeres con la versión 1.23.13-gke.1000 o posterior del plano de control de GKE, el agente de Logging permite una capacidad de procesamiento de hasta 10 MiB por segundo en los nodos que tienen al menos 2 núcleos de CPU sin usar. Sin embargo, ten en cuenta que, con una capacidad de procesamiento mayor, es posible que se pierdan algunos registros.
Identifica los nodos con mayor capacidad de procesamiento de registro
De forma predeterminada, los clústeres de GKE recopilan
métricas del sistema.
La métrica del sistema kubernetes.io/node/logs/input_bytes
proporciona la cantidad de bytes de registro generados por segundo en un nodo. Esta métrica puede ayudarte a decidir qué variante del agente de Logging tiene sentido implementar en tu clúster o grupo de nodos.
Para ver el historial de capacidad de procesamiento de registro de cada nodo en tu clúster, sigue estos pasos:
-
En la consola de Google Cloud, ve a la página leaderboardExplorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
En el campo Seleccionar una métrica, escribe
kubernetes.io/node/logs/input_bytes
.En el campo Agrupar por, selecciona ID_del_proyecto ,ubicación ,nombre_del_clúster ynombre_nodo.
Haga clic en Aceptar.
Opcionalmente, para ordenar la lista de métricas en orden descendente, haz clic en el encabezado Valor de la columna sobre la lista de métricas.
Para comprender cuál es el volumen de registro que se genera en función de los componentes del sistema o las cargas de trabajo que se ejecutan en el nodo, también puedes agrupar por la etiqueta de métrica type.
Habilita el registro de alta productividad
Si algún nodo de GKE requiere más de 100 KiB por segundo de capacidad de procesamiento de registro y el clúster de GKE Standard usa la versión 1.23.13-gke.1000 o posterior del plano de control, puedes configurar GKE para implementar una configuración alternativa del agente de Logging diseñada para maximizar la capacidad de procesamiento de registros. Esta variante máxima de capacidad de procesamiento de Logging permite una capacidad de procesamiento de hasta 10 MiB por segundo por nodo. Puedes implementar este agente de Logging de alta capacidad de procesamiento en todos los nodos de un clúster o en todos los nodos de un grupo de nodos.
Esta configuración de alta capacidad de procesamiento consumirá CPU y memoria adicionales.
gcloud CLI
Para habilitar el registro de alta capacidad de procesamiento en todos los nodos de un clúster nuevo, sigue estos pasos:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT \
--machine-type=MACHINE_TYPE
Reemplaza lo siguiente:
CLUSTER_NAME
el nombre del clúster nuevo.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster nuevo.MACHINE_TYPE
: Un tipo de máquina que tenga suficiente CPU para el agente de Logging, comoe2-standard-8
.
Todos los grupos de nodos recién creados en este clúster, incluido el grupo de nodos predeterminado, implementan el agente de Logging de alta capacidad de procesamiento.
Para confirmar si ya se configuró el registro de alta capacidad de procesamiento para un clúster existente, usa el comando gcloud container cluster describe
:
gcloud container clusters describe CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format="value(nodePoolDefaults[].loggingConfig.variantConfig.variant)"
Reemplaza lo siguiente:
CLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Para configurar el registro de alta capacidad de procesamiento para un clúster existente, usa el comando gcloud container clusters update
:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Reemplaza lo siguiente:
CLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Para crear un grupo de nodos nuevo que use el agente de Logging de alta capacidad de procesamiento, usa el comando
gcloud container node-pools create
:
gcloud container node-pools create NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodos nuevoCLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster nuevo.
Para confirmar si ya se configuró el registro de alta capacidad de procesamiento para un grupo de nodos existente, usa el comando gcloud container node-pools describe
:
gcloud container node-pools describe NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--format="value(config.loggingConfig.variantConfig.variant)"
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodosCLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine.
Para actualizar un grupo de nodos existente, usa el comando gcloud container node-pools update
.
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=MAX_THROUGHPUT
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodosCLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine.
Terraform
En los siguientes bloques de código, se especifica cómo declarar grupos de nodos con o sin registro de alta productividad.
Para administrar los grupos de nodos de forma explícita, debes especificar tu clúster sin un grupo de nodos predeterminado.
resource "google_container_cluster" "with_example_logging_variants" {
provider = google
name = "CLUSTER_NAME"
location = "COMPUTE_LOCATION"
initial_node_count = 1
remove_default_node_pool = true # We want to manage our node pools separately.
}
Para especificar un grupo de nodos que use el agente de alta capacidad de procesamiento, usa el campo node_config
para especificar la variante del agente de Logging como MAX_THROUGHPUT
y un tipo de máquina adecuado:
resource "google_container_node_pool" "with_example_logging_variant" {
provider = google
name = "example-node-pool-with-htl"
cluster = google_container_cluster.with_example_logging_variants.name
location = "COMPUTE_LOCATION"
node_config {
logging_variant = "MAX_THROUGHPUT"
# Use a machine type with enough CPU to accommodate the high-throughput agent, such as e2-standard-8.
machine_type = "e2-standard-8"
}
node_count = 1
}
Para especificar un grupo de nodos que use el agente predeterminado, usa el campo node_config
para especificar la variante del agente de Logging como DEFAULT
:
resource "google_container_node_pool" "with_default_logging_variant" {
provider = google
name = "example-node-pool-with-default-logging"
cluster = google_container_cluster.with_example_logging_variants.name
location = "COMPUTE_LOCATION"
node_config {
logging_variant = "DEFAULT"
}
node_count = 1
}
Inhabilita el registro de alta productividad
Si ya no deseas usar el agente de Logging de alta capacidad de procesamiento, implementa el agente de Logging predeterminado en el clúster o el grupo de nodos.
gcloud CLI
Pasa la marca --logging-variant=DEFAULT
cuando crees o actualices un clúster
o un grupo de nodos.
Para usar el agente de registro predeterminado en todos los nodos de un clúster nuevo, haz lo siguiente:
gcloud container clusters create CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT \
--machine-type=MACHINE_TYPE
Reemplaza lo siguiente:
CLUSTER_NAME
el nombre del clúster nuevo.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster nuevo.MACHINE_TYPE
: Un tipo de máquina que tenga suficiente CPU para el agente de Logging, comoe2-standard-8
.
Para usar el agente de registro predeterminado en un clúster existente, usa el comando gcloud container clusters update
:
gcloud container clusters update CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Reemplaza lo siguiente:
CLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Para usar el agente de registro predeterminado para un grupo de nodos nuevo, usa el comando gcloud container node-pools create
:
gcloud container node-pools create NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodos nuevoCLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster nuevo.
Para actualizar un grupo de nodos existente, usa el comando gcloud container node-pools update
:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--location=COMPUTE_LOCATION \
--logging-variant=DEFAULT
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodosCLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine.
Terraform
Si ya no deseas que Terraform cree grupos de nodos que usen el agente de Logging de alta capacidad de procesamiento, configura el campo logging_variant
como DEFAULT
.
¿Qué sigue?
- Obtén más información para controlar la transferencia de registros.