Ce document explique comment identifier les charges de travail sous-provisionnées et surprovisionnées qui s'exécutent sur des clusters Google Kubernetes Engine (GKE) à l'aide d'insights et de recommandations. Après avoir vérifié que les charges de travail identifiées bénéficieraient de la recommandation d'effectuer un scaling à la hausse ou à la baisse, vous pouvez appliquer la modification recommandée pour réduire les coûts ou augmenter la fiabilité de votre charge de travail. Si cela est possible, la recommandation inclut les économies ou les coûts mensuels prévus. Pour en savoir plus, consultez Comprendre les estimations de coûts ou d'économies.
GKE fournit ces insights sur les charges de travail exécutées sur les clusters Autopilot et Standard. GKE fournit également des recommandations similaires pour les clusters entiers. Pour en savoir plus, consultez Identifier les clusters GKE sous-provisionnés et surprovisionnés.
GKE surveille vos clusters et fournit des conseils pour optimiser votre utilisation via Active Assist, un service qui fournit des outils de recommandation en mesure de générer des insights et des recommandations pour l'utilisation des ressources sur Google Cloud. Pour en savoir plus sur la gestion des insights et des recommandations, consultez Optimiser votre utilisation de GKE avec des insights et des recommandations.
Obtenir des insights et des recommandations pour les charges de travail sous-provisionnées et surprovisionnées
GKE affiche ces insights et recommandations aux emplacements suivants de la console Google Cloud après avoir observé le comportement spécifique décrit dans la section suivante :
Les recommandations portent les titres suivants sur la page Charges de travail :
- Charges de travail surprovisionnées : "Réduisez les demandes de ressources pour diminuer les coûts"
- Charges de travail sous-provisionnées : "Augmenter les demandes de ressources pour améliorer la fiabilité"
Vous pouvez également recevoir tous les types d'insights et de recommandations via la Google Cloud CLI ou l'API Recommender. Pour trouver spécifiquement ces types, suivez les instructions pour afficher les insights et les recommandations, puis filtrez à l'aide des sous-types WORKLOAD_UNDERPROVISIONED et WORKLOAD_OVERPROVISIONED.
Après avoir identifié les charges de travail sous-provisionnées ou surprovisionnées, consultez les considérations relatives au redimensionnement des charges de travail.
Comment GKE identifie les charges de travail sous-provisionnées et surprovisionnées
Le tableau suivant décrit les signaux utilisés par GKE pour identifier les charges de travail sous-provisionnées et surprovisionnées devant faire l'objet d'un scaling à la hausse ou à la baisse, ainsi que le seuil de chaque signal. Ce tableau indique également l'action que nous vous recommandons d'effectuer dans ce scénario.
| Sous-type | Signal | Période d'observation | Détails | Recommandation |
|---|---|---|---|---|
WORKLOAD_UNDERPROVISIONED |
L'utilisation du processeur ou de la mémoire est élevée | 15 derniers jours | Une charge de travail est sous-provisionnée lorsque l'utilisation du processeur ou de la mémoire est supérieure à 150 % pendant au moins 10 % du temps au cours des 15 derniers jours. | Effectuer un scaling à la hausse de votre charge de travail pour améliorer sa fiabilité |
WORKLOAD_OVERPROVISIONED |
L'utilisation du processeur ou de la mémoire est faible | 15 derniers jours | Une charge de travail est surprovisionnée lorsque l'utilisation du processeur ou de la mémoire est inférieure à 50 % pendant au moins 90 % du temps au cours des 15 derniers jours. | Effectuer un scaling à la baisse de votre charge de travail pour réduire les coûts |
GKE utilise également les consignes suivantes pour déterminer quand fournir des insights et des recommandations :
- GKE ne génère pas de recommandations pour la métrique cible de l'autoscaling horizontal de pods (AHP), car l'utilisation de cette métrique peut entraîner des interférences.
- Si l'autoscaling vertical des pods (VPA) est activé, les valeurs de requête sont gérées automatiquement et GKE n'a pas besoin de générer de recommandation.
- GKE peut attendre jusqu'à trois jours avant de générer des recommandations pour les nouvelles charges de travail.
Comprendre les estimations de coûts ou d'économies
Si cela est possible, la recommandation de GKE inclut une estimation du coût mensuel ou des économies envisageables en cas de redimensionnement de la charge de travail. Cette estimation est basée sur les coûts de la charge de travail, en fonction de la moyenne pondérée des valeurs de requête combinées au coût de processeur et de mémoire de la charge de travail au cours des 30 derniers jours.
Les coûts ou les économies estimés sont des projections basées sur les dépenses précédentes. Ces éléments ne garantissent pas les coûts ou économies futurs.
Pour pouvoir afficher ces estimations, assurez-vous que les conditions suivantes sont remplies :
- Vous disposez de l'autorisation
billing.accounts.getSpendingInformationrequise pour obtenir des informations sur les dépenses. Pour en savoir plus, consultez Accès à Cloud Billing. - L'attribution des coûts GKE est activée pour le cluster. Pour en savoir plus, consultez Activer l'allocation des coûts GKE.
Pour en savoir plus sur le coût de tous vos clusters GKE, y compris pour bénéficier d'une répartition plus précise basée sur les espaces de noms et les charges de travail, consultez Obtenez des insights clés sur vos dépenses pour l'allocation des ressources GKE et les coûts de vos clusters.
Pour en savoir plus sur les coûts d'exécution d'un cluster GKE, consultez Tarifs de GKE.
Éléments à prendre en compte lors du redimensionnement des charges de travail
Avant de suivre une recommandation pour effectuer un scaling à la hausse ou à la baisse d'une charge de travail, tenez compte des éléments suivants :
- Examinez l'utilisation des ressources de la charge de travail pour voir comment elle fonctionne et si elle utilise plus ou moins de processeur et de mémoire que prévu. Pour obtenir des instructions, consultez Analyser les demandes de ressources.
- Les charges de travail de traitement par lot peuvent intentionnellement maintenir une utilisation élevée pour réduire les coûts. Si les ressources allouées sont suffisantes pour les jobs par lot, vous n'avez pas besoin d'effectuer un scaling à la hausse de la charge de travail fortement sollicitée, qui a été identifiée comme sous-provisionnée.
- GKE dispose d'une visibilité limitée sur l'utilisation réelle de la mémoire des charges de travail basées sur la machine virtuelle Java (JVM). Soyez particulièrement vigilant avant d'appliquer des recommandations pour ces types de charges de travail.
Mettre en œuvre la recommandation pour redimensionner une charge de travail
Vous pouvez ajuster la taille d'une charge de travail pour mieux l'adapter à l'utilisation des ressources en procédant de l'une des manières suivantes :
- Activez l'autoscaling vertical des pods pour la charge de travail. Pour en savoir plus, consultez Définir automatiquement les demandes de ressources des pods.
Modifiez manuellement les demandes et les limites en fonction de la recommandation :
- Charge de travail sous-provisionnée : pour mettre en œuvre la recommandation visant à dimensionner correctement une charge de travail sous-provisionnée, augmentez les demandes et les limites de ressources pour la charge de travail. Lorsque vous implémentez cette recommandation, vous contribuez à garantir que votre charge de travail reste fiable, car elle dispose de la quantité appropriée de ressources pour ses applications.
- Charge de travail surprovisionnée : pour mettre en œuvre la recommandation visant à dimensionner correctement une charge de travail surprovisionnée, diminuez les demandes et les limites de ressources pour la charge de travail. Ajustez les allocations de mémoire et de processeur du cluster en fonction des besoins de votre charge de travail. Lorsque vous implémentez cette recommandation, vous vous assurez de n'utiliser que les ressources dont vous avez besoin pour exécuter votre charge de travail.
Étapes suivantes
- Afficher les métriques d'optimisation liées aux coûts
- Réduire les coûts en procédant au scaling à la baisse des clusters GKE pendant les heures creuses
- Optimiser votre utilisation de GKE avec des insights et des recommandations
- Bonnes pratiques pour l'exécution d'applications Kubernetes à coût maîtrisé sur GKE
- Cinq fonctionnalités GKE pour vous aider à optimiser vos clusters