Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Enable CPU Suppress

Última atualização: Jun 27, 2026

Em cenários de overcommit dinâmico de recursos, a CPU ociosa de pods de alta prioridade (Guaranteed e Burstable) pode ser alocada para workloads BestEffort (BE). O CPU Suppress limita dinamicamente o uso de CPU dos pods BE com base na utilização do nó, protegendo os pods sensíveis à latência (LS) e mantendo o uso de recursos do cluster dentro de um limiar seguro.

O CPU Suppress requer overcommit dinâmico de recursos .

Como funciona

O CPU Suppress monitora a utilização de CPU do nó em relação a um limiar configurável (cpuSuppressThresholdPercent, padrão: 65%). O cpuset dos pods BE se expande e contrai conforme a margem disponível dos pods LS:

  • Aumento da carga LS — O CPU Suppress reduz o cpuset dos pods BE para proteger os tempos de resposta LS

  • Redução da carga LS — O CPU Suppress expande o cpuset dos pods BE para recuperar a capacidade ociosa

A figura a seguir ilustra a relação entre o limiar de CPU, o uso dos pods LS e a restrição de CPU dos pods BE.

image

A figura utiliza os seguintes termos:

  • CPU Threshold: o limiar de utilização de CPU do nó

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

  • CPU Restriction for BE: recursos de CPU disponíveis para os pods BE

Alinhe o parâmetro cpuSuppressThresholdPercent com a marca d'água de CPU reservada na sua configuração de overcommit dinâmico de recursos.

Pré-requisitos

Verifique se você possui:

Consulte as classes Pod QoS e a seção sobre como atribuir recursos de memória a containers e pods na documentação do Kubernetes.

Faturamento

A instalação e o uso do ack-koordinator são gratuitos. No entanto, cobranças podem ocorrer nas seguintes situações:

  • Recursos dos nós worker: como o ack-koordinator é um componente não gerenciado, ele consome recursos dos nós worker após a instalação. É possível controlar as solicitações de recursos de cada módulo durante o processo de instalação.

  • Métricas do Prometheus: caso você ative as métricas do Prometheus para o ack-koordinator e utilize o Managed Service for Prometheus, essas métricas serão contabilizadas como métricas personalizadas e gerarão custos. As taxas variam conforme o tamanho do cluster e a quantidade de aplicações. Antes de ativar esse recurso, revise a página de Faturamento do Managed Service for Prometheus para entender a cota gratuita e as regras de cobrança. Para monitorar o uso, consulte Consultar a quantidade de dados observáveis e faturas.

Procedimento

A configuração do CPU Suppress ocorre no nível do cluster por meio do ConfigMap ack-slo-config no namespace kube-system.

  1. Crie um arquivo chamado configmap.yaml com o seguinte conteúdo:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ack-slo-config
      namespace: kube-system
    data:
      resource-threshold-config: |
        {
          "clusterStrategy": {
            "enable": true
          }
        }
  2. Aplique o ConfigMap. O método varia dependendo da existência prévia do ack-slo-config no seu cluster:

    • Se o ConfigMap já existir, aplique um patch para atualizar apenas o campo relevante:

      kubectl patch cm -n kube-system ack-slo-config --patch "$(cat configmap.yaml)"
    • Se o ConfigMap não existir, crie-o:

      kubectl apply -f configmap.yaml
  3. Verifique se o CPU Suppress está ativo checando a alocação de CPU dos pods BE:

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

    Saída esperada:

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

    Essa saída confirma que os pods BE estão restritos a um subconjunto de CPUs e que o CPU Suppress está ativo.

  4. Opcional: Defina o limiar de utilização de CPU. Atualize o arquivo configmap.yaml com o conteúdo abaixo e reaplique-o:

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

    Valor padrão: 65%. Alinhe o parâmetro cpuSuppressThresholdPercent ao perfil das suas workloads ou à marca d'água de CPU do overcommit dinâmico de recursos.

Parâmetros

Parâmetro

Tipo

Intervalo de valores

Padrão

Descrição

enable

Booleano

true / false

Ativa (true) ou desativa (false) o CPU Suppress

cpuSuppressThresholdPercent

Inteiro

[0, 100]

65

Limiar de utilização de CPU do nó (%). Os recursos de CPU dos pods BE diminuem quando a utilização excede esse valor e aumentam quando ficam abaixo dele.

Próximas etapas

O ack-koordinator oferece limites adicionais de recursos para workloads com overcommit: