Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Enable CPU Suppress

Dernière mise à jour :Aug 11, 2026

Dans les scénarios de surengagement dynamique des ressources, le CPU inutilisé par les pods haute priorité (Guaranteed et Burstable) peut être alloué aux charges de travail BestEffort (BE). CPU Suppress limite dynamiquement l'utilisation du CPU des pods BE en fonction de l'utilisation du nœud afin de protéger les pods sensibles à la latence (LS) et de maintenir l'utilisation des ressources du cluster dans un seuil de sécurité.

CPU Suppress nécessite le surengagement dynamique des ressources .

Fonctionnement

CPU Suppress surveille l'utilisation du CPU du nœud par rapport à un seuil configurable (cpuSuppressThresholdPercent, valeur par défaut : 65 %). Le cpuset des pods BE s'étend ou se réduit en fonction de la marge disponible pour les pods LS :

  • La charge LS augmente — CPU Suppress réduit le cpuset des pods BE, protégeant ainsi les temps de réponse des pods LS

  • La charge LS diminue — CPU Suppress étend le cpuset des pods BE, récupérant la capacité inactive

La figure suivante illustre la relation entre le seuil CPU, l'utilisation des pods LS et la restriction CPU des pods BE.

image

La figure utilise les termes suivants :

  • CPU Threshold : seuil d'utilisation du CPU du nœud

  • Pod (LS).Usage : utilisation du CPU par les pods LS

  • CPU Restriction for BE : ressources CPU disponibles pour les pods BE

Alignez cpuSuppressThresholdPercent avec le filigrane CPU réservé dans votre configuration de surengagement dynamique des ressources.

Prérequis

Assurez-vous de disposer des éléments suivants :

Consultez les classes QoS des pods et l'attribution de ressources mémoire aux conteneurs et aux pods dans la documentation Kubernetes.

Facturation

L'installation et l'utilisation d'ack-koordinator sont gratuites. Des frais peuvent s'appliquer dans les cas suivants :

  • Ressources des nœuds de travail : ack-koordinator est un composant non géré. Il consomme des ressources des nœuds de travail après l'installation. Vous pouvez contrôler les demandes de ressources pour chaque module lors de l'installation.

  • Métriques Prometheus : Si vous activez les métriques Prometheus pour ack-koordinator et utilisez Managed Service for Prometheus, les métriques sont comptabilisées comme des métriques personnalisées et entraînent des frais. Les coûts dépendent de la taille du cluster et du nombre d'applications. Avant l'activation, consultez la page Facturation de Managed Service for Prometheus pour comprendre le quota gratuit et les règles de facturation. Pour le suivi de l'utilisation, consultez la rubrique Interroger le volume de données observables et les factures.

Procédure

CPU Suppress se configure au niveau du cluster via le ConfigMap ack-slo-config dans le namespace kube-system.

  1. Créez un fichier nommé configmap.yaml avec le contenu suivant :

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ack-slo-config
      namespace: kube-system
    data:
      resource-threshold-config: |
        {
          "clusterStrategy": {
            "enable": true
          }
        }
  2. Appliquez le ConfigMap. La méthode dépend de l'existence de ack-slo-config dans votre cluster :

    • Si le ConfigMap existe, appliquez un patch pour mettre à jour uniquement le champ pertinent :

      kubectl patch cm -n kube-system ack-slo-config --patch "$(cat configmap.yaml)"
    • Si le ConfigMap n'existe pas, créez-le :

      kubectl apply -f configmap.yaml
  3. Vérifiez que CPU Suppress est actif en contrôlant l'allocation CPU des pods BE :

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

    Sortie attendue :

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

    Cela confirme que les pods BE sont limités à un sous-ensemble de CPU et que CPU Suppress est actif.

  4. Facultatif : Définissez le seuil d'utilisation du CPU. Mettez à jour configmap.yaml avec le contenu suivant et réappliquez la configuration :

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

    Valeur par défaut : 65 %. Alignez cpuSuppressThresholdPercent avec le profil de vos charges de travail ou avec le filigrane CPU du surengagement dynamique des ressources.

Paramètres

Paramètre Type Plage de valeurs Par défaut Description
enable Booléen true / false Active (true) ou désactive (false) CPU Suppress
cpuSuppressThresholdPercent Entier [0, 100] 65 Seuil d'utilisation du CPU du nœud (%). Les ressources CPU des pods BE diminuent lorsque l'utilisation dépasse cette valeur et augmentent lorsqu'elle tombe en dessous.

Étapes suivantes

ack-koordinator propose des limites de ressources supplémentaires pour les charges de travail surengagées :