Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Enable CPU Suppress

Última actualización: Sep 04, 2026

En escenarios de sobreasignación dinámica de recursos, la CPU no utilizada por pods de alta prioridad (Guaranteed y Burstable) se puede asignar a cargas de trabajo BestEffort (BE). CPU Suppress limita dinámicamente el uso de CPU de los pods BE según la utilización del nodo para proteger los pods sensibles a la latencia (LS) y mantener el uso de recursos del clúster dentro de un umbral seguro.

CPU Suppress requiere dynamic resource overcommitment .

Funcionamiento

CPU Suppress monitorea la utilización de CPU del nodo con respecto a un umbral configurable (cpuSuppressThresholdPercent, predeterminado: 65%). El cpuset de los pods BE se expande y contrae según la capacidad disponible de los pods LS:

  • La carga LS aumenta: CPU Suppress reduce el cpuset de los pods BE para proteger los tiempos de respuesta de LS.

  • La carga LS disminuye: CPU Suppress expande el cpuset de los pods BE para recuperar la capacidad inactiva.

La siguiente figura muestra la relación entre el umbral de CPU, el uso de los pods LS y la restricción de CPU de los pods BE.

image

La figura utiliza los siguientes términos:

  • CPU Threshold: el umbral de utilización de CPU del nodo.

  • Pod (LS).Usage: uso de CPU de los pods LS.

  • CPU Restriction for BE: recursos de CPU disponibles para los pods BE.

Alinee cpuSuppressThresholdPercent con la marca de agua de CPU reservada en su configuración de sobreasignación dinámica de recursos.

Requisitos previos

Asegúrese de contar con lo siguiente:

Consulte Pod QoS classes y Assign memory resources to containers and pods en la documentación de Kubernetes.

Facturación

La instalación y el uso de ack-koordinator son gratuitos. Sin embargo, pueden generarse cargos en los siguientes casos:

  • Recursos de nodos worker: ack-koordinator es un componente no administrado que consume recursos del nodo worker tras la instalación. Durante la instalación, puede controlar las solicitudes de recursos para cada módulo.

  • Métricas de Prometheus: si habilita las métricas de Prometheus para ack-koordinator y utiliza Managed Service for Prometheus, dichas métricas se consideran custom metrics y generan cargos. Las tarifas dependen del tamaño del clúster y la cantidad de aplicaciones. Antes de habilitarlas, revise la página de Billing de Managed Service for Prometheus para conocer la cuota gratuita y las reglas de facturación. Para monitorear el uso, consulte Query the amount of observable data and bills.

Procedimiento

CPU Suppress se configura a nivel de clúster mediante el ConfigMap ack-slo-config en el namespace kube-system.

  1. Cree un archivo llamado configmap.yaml con el siguiente contenido:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ack-slo-config
      namespace: kube-system
    data:
      resource-threshold-config: |
        {
          "clusterStrategy": {
            "enable": true
          }
        }
  2. Aplique el ConfigMap. El método depende de si ack-slo-config ya existe en su clúster:

    • Si el ConfigMap existe, aplíquele un parche para actualizar solo el campo correspondiente:

      kubectl patch cm -n kube-system ack-slo-config --patch "$(cat configmap.yaml)"
    • Si el ConfigMap no existe, créelo:

      kubectl apply -f configmap.yaml
  3. Compruebe que CPU Suppress está activo mediante la verificación de la asignación de CPU de los pods BE:

    cat /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-besteffort.slice/cpuset.cpus

    Salida esperada:

    10-25,35-51,62-77,87-103

    Esto confirma que los pods BE están restringidos a un subconjunto de CPU y que CPU Suppress se encuentra activo.

  4. Opcional: Establezca el umbral de utilización de CPU. Actualice configmap.yaml con el siguiente contenido y vuelva a aplicarlo:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ack-slo-config
      namespace: kube-system
    data:
      resource-threshold-config: |
        {
          "clusterStrategy": {
            "enable": true,
            "cpuSuppressThresholdPercent": 65
          }
        }

    Valor predeterminado: 65%. Alinee cpuSuppressThresholdPercent con el perfil de su carga de trabajo o con la marca de agua de CPU de sobreasignación dinámica de recursos.

Parámetros

Parámetro

Tipo

Rango de valores

Predeterminado

Descripción

enable

Booleano

true / false

—

Habilita (true) o deshabilita (false) CPU Suppress

cpuSuppressThresholdPercent

Entero

[0, 100]

65

Umbral de utilización de CPU del nodo (%). Los recursos de CPU de los pods BE se reducen cuando la utilización supera este valor y se expanden cuando cae por debajo.

Siguientes pasos

ack-koordinator proporciona límites de recursos adicionales para cargas de trabajo sobreasignadas: