

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Gagnez en visibilité sur vos coûts Amazon EKS
<a name="kubecost-main"></a>

## Présentation de
<a name="kubecost-overview"></a>

Une vision globale est nécessaire pour surveiller efficacement le coût d'un déploiement de Kubernetes. Le seul coût fixe et connu concerne le plan de contrôle Amazon Elastic Kubernetes Service (Amazon EKS). Cela inclut tous les autres composants composant le déploiement, du calcul au stockage en passant par la mise en réseau, dont le montant varie en fonction des besoins de votre application.

Vous pouvez utiliser [Kubecost](https://www.kubecost.com/) pour analyser le coût de votre infrastructure Kubernetes, depuis les [espaces de noms](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) et les [services jusqu'aux](https://kubernetes.io/docs/concepts/services-networking/service/) [pods](https://kubernetes.io/docs/concepts/workloads/pods/) individuels, puis afficher les données dans un tableau de bord. Kubecost fait apparaître les coûts liés au cluster, tels que le calcul et le stockage, et les coûts out-of-cluster tels que les [buckets Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) et les instances Amazon Relational Database Service ([Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Kubecost fera des recommandations de dimensionnement sur la base de ces données et affichera les alertes critiques susceptibles d'avoir un impact sur le système. Kubecost peut [s'intégrer [AWS Cost and Usage Report](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html)](https://www.ibm.com/docs/en/kubecost/self-hosted/1.x?topic=integrations-aws-cloud-billing-integration)pour montrer les économies réalisées grâce aux [Compute Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html), [aux instances réservées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-reserved-instances.html) et à d'autres programmes de réduction.

## Avantages en termes de coûts
<a name="kubecost-cost-benefits"></a>

Kubecost fournit des rapports et des tableaux de bord qui permettent de visualiser le coût de vos déploiements Amazon EKS. Il vous permet d'accéder à chacun des différents composants tels que les contrôleurs, les services, les nœuds, les pods et les volumes à partir du cluster. Cela vous donne une vue globale de vos applications exécutées dans un environnement Amazon EKS. En activant cette visibilité, vous pouvez suivre les recommandations de Kubecost ou visualiser les coûts de chaque application à un niveau granulaire. La bonne taille d'un groupe de nœuds Amazon EKS permet de réaliser les mêmes économies potentielles que les instances EC2 standard. Si vous pouvez dimensionner correctement vos conteneurs et vos nœuds, vous pouvez supprimer la charge de calcul liée à la taille de l'instance nécessaire pour exécuter le conteneur et au nombre d'instances EC2 requises dans le groupe de dimensionnement automatique.

## Recommandations en matière d’optimisation des coûts
<a name="kubecost-rec"></a>

Pour profiter de Kubecost, nous vous recommandons de procéder comme suit :

1. Déployez Kubecost dans votre environnement

1. Obtenez une ventilation détaillée des coûts des applications Windows

1. Nœuds de cluster de la bonne taille

1. Demandes de conteneurs de la bonne taille

1. Gérez les nœuds sous-utilisés

1. Remédier aux charges de travail abandonnées

1. Agir sur les recommandations

1. Mettre à jour les nœuds autogérés

### Déployez Kubecost dans votre environnement
<a name="kubecost-overview-rec-deploy"></a>

L'[atelier Amazon EKS Finhack](https://catalog.us-east-1.prod.workshops.aws/workshops/c4ab40ed-0299-4a4e-8987-35d90ba5085e/en-US) vous apprend à déployer un environnement Amazon EKS configuré pour utiliser Kubecost dans un AWS compte détenu. Cela vous permet d'acquérir une expérience pratique de la technologie. Si vous souhaitez organiser cet atelier au sein de votre organisation, contactez l'équipe chargée de votre compte.

Pour déployer Kubecost sur votre cluster Amazon EKS à l'aide de [Helm](https://helm.sh/), consultez l'article sur le blog consacré à la [collaboration entre Kubecost AWS et Kubecost pour fournir un suivi des coûts aux clients d'EKS](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/). AWS Vous pouvez également consulter la [documentation officielle de Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation) pour obtenir des instructions sur l'installation et la configuration de Kubecost. Pour plus d'informations sur le support de Kubecost pour les nœuds Windows, consultez la section [Support des nœuds Windows](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=configuration-windows-node-support) dans la documentation de Kubecost.

### Obtenez une ventilation détaillée des coûts des applications Windows
<a name="kubecost-overview-rec-granular-cost"></a>

Bien que vous puissiez réaliser d'importantes économies en utilisant les [instances Spot Amazon EC2](https://aws.amazon.com/ec2/spot/), vous pouvez également tirer parti du fait que les charges de travail Windows ont tendance à être dynamiques. L'utilisation des instances Spot dépend de l'application, et nous vous encourageons à vérifier si elles s'appliquent à votre cas d'utilisation.

Pour obtenir une ventilation détaillée des coûts de vos applications Windows, [connectez-vous à Kubecost](https://auth.app.kubecost.com/login). Sur la page de navigation, sélectionnez **Savings**.

### Nœuds de cluster de la bonne taille
<a name="kubecost-overview-rec-rightsize-cluster"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis choisissez **Rightsize your cluster node**.

Prenons un exemple où Kubecost indique que le cluster est surprovisionné en termes de vCPU et de RAM. Le tableau suivant présente les détails et les recommandations de Kubecost.


****  

|   | Current | Recommandation : Simple | Recommandation : Complexe | 
| --- | --- | --- | --- | 
| Nombre total | 3462,57\$1 US par mois | 137,24\$1 US par mois | 303,68\$1 US par mois | 
| Nombre de nœuds | 4 | 5 | 4 | 
| CPU | 74 VCPUs | 10  VCPUs | 8 VCPUs | 
| RAM | 152 GO | 20 Go | 18 GO | 
| Répartition des instances | 2 c5.xlarge \$1 2 de plus | 5 t3a.medium | 2 c5n.large \$1 1 de plus | 

Comme décrit dans le billet de blog de Kubecost intitulé [Trouvez un ensemble optimal de nœuds pour un cluster Kubernetes](https://blog.kubecost.com/blog/cluster-right-sizing/), l'option simple utilise un seul groupe de nœuds, tandis que l'option complexe utilise une approche de groupe à nœuds multiples. Le bouton **Apprenez à adopter** permet de redimensionner le cluster en un clic. Cela nécessite l'installation du [Kubecost Cluster](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=configuration-cluster-controller) Controller.

Si vous utilisez des [nœuds Windows autogérés](https://docs.aws.amazon.com/eks/latest/userguide/launch-windows-workers.html) qui ne sont pas créés par [eksctl](https://eksctl.io/), consultez [Mettre à jour un groupe de nœuds autogérés existant](https://docs.aws.amazon.com/eks/latest/userguide/update-stack.html). Ces instructions vous montrent comment modifier le type d'instance dans le modèle de lancement Amazon EC2 utilisé par le groupe [Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html).

### Demandes de conteneurs de la bonne taille
<a name="kubecost-overview-rec-rightsize-container-requests"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis accédez à la page **Demander des recommandations de dimensionnement correct**. Cette page présente l'[efficacité](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=dashboard-efficiency-idle) des capsules, les recommandations relatives à la bonne taille et les économies estimées. Vous pouvez utiliser le bouton **Personnaliser** pour filtrer par **cluster**, **nœud**, **espace de noms \$1 contrôleur**, etc.

Par exemple, considérez que Kubecost a calculé que certains de vos pods sont surapprovisionnés en termes de CPU et de RAM (mémoire). Kubecost vous recommande ensuite de vous adapter aux nouvelles valeurs du processeur et de la RAM pour réaliser ses économies mensuelles estimées. Pour modifier les valeurs du processeur et de la RAM, vous devez mettre à jour votre fichier [manifeste de déploiement](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/).

### Gérez les nœuds sous-utilisés
<a name="kubecost-overview-rec-underutilized-nodes"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis sélectionnez **Gérer les nœuds sous-utilisés**.

Prenons un exemple où la page montre qu'un nœud du cluster est sous-utilisé en termes de CPU et de RAM (mémoire) et peut donc être vidé et arrêté ou redimensionné. Le choix des nœuds qui ne passent pas les vérifications des nœuds et des pods vous donnera plus d'informations sur les raisons pour lesquelles ils ne peuvent pas être vidangés.

### Remédier aux charges de travail abandonnées
<a name="kubecost-overview-rec-abandoned-workloads"></a>

Dans [Kubecost](https://auth.app.kubecost.com/login), choisissez **Savings** dans la barre de navigation, puis choisissez la page Charges de **travail abandonnées**. Dans cet exemple, vous filtrez par espace de noms appelé **fenêtres**. Cette page indique les pods qui n'ont pas atteint le seuil de trafic et qui sont considérés comme abandonnés. Les pods doivent envoyer ou recevoir une certaine quantité de trafic réseau au cours de la période définie.

Après avoir soigneusement étudié l'abandon d'un ou de plusieurs pods, vous pouvez réaliser des économies en réduisant le nombre de répliques, en supprimant le déploiement, en le redimensionnant pour consommer moins de ressources ou en informant le propriétaire de l'application que vous pensez que le déploiement est abandonné.

### Agir sur les recommandations
<a name="kubecost-overview-rec-act-rec"></a>

Dans la section **Dimensionnez correctement les nœuds de votre cluster**, Kubecost analyse l'utilisation des nœuds de travail du cluster et formule des recommandations sur le dimensionnement correct des nœuds afin de réduire les coûts. Deux types de groupes de nœuds peuvent être utilisés avec Amazon EKS : [autogérés et [gérés](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)](https://docs.aws.amazon.com/eks/latest/userguide/worker.html).

### Mettre à jour les nœuds autogérés
<a name="kubecost-overview-rec-selfmanaged-nodes"></a>

Pour plus d'informations sur la mise à jour des nœuds autogérés, consultez la section [Mises à jour des nœuds autogérés](https://docs.aws.amazon.com/eks/latest/userguide/update-workers.html) dans la documentation Amazon EKS. Il indique que les groupes de nœuds créés avec ne `eksctl` peuvent pas être mis à jour et doivent être migrés vers un nouveau groupe de nœuds avec la nouvelle configuration.

Par exemple, supposons que vous avez un groupe de nœuds Windows appelé `ng-windows-m5-2xlarge`**** (qui utilise une instance EC2 m5.2xlarge) et que vous souhaitez migrer les pods vers un [nouveau groupe de nœuds](https://docs.aws.amazon.com/eks/latest/userguide/launch-windows-workers.html) appelé `ng-windows-t3-large`**** (qui est soutenu par une instance EC2 t3.large pour réduire les coûts).

Pour migrer vers un nouveau groupe de nœuds lorsque vous utilisez des groupes de nœuds déployés par`eksctl`, procédez comme suit :

1. Pour trouver le nœud dans lequel se trouve actuellement le pod, exécutez la `kubectl describe pod <pod_name> -n <namespace>` commande.

1. Exécutez la commande `kubectl describe node <node_name>`. La sortie indique que le nœud s'exécute sur une instance m5.2xlarge. Il correspond également au nom du groupe de nœuds (`ng-windows-m5-2xlarge`).

1. Pour modifier le déploiement afin d'utiliser un groupe de nœuds`ng-windows-t3-large`, supprimez le groupe de nœuds `ng-windows-m5-2xlarge` et exécutez`kubectl describe svc,deploy,pod -n windows`. Le déploiement commence immédiatement à se redéployer une fois que son groupe de nœuds a été supprimé. 
**Note**  
Le service sera interrompu lorsque vous supprimerez le groupe de nœuds.

1. Exécutez à nouveau la `kubectl describe svc,deploy,pod -n windows` commande après quelques minutes. La sortie indique que les pods sont tous à nouveau en **cours d'exécution**.

1. Pour montrer que les pods s'exécutent désormais sur le groupe de nœuds`ng-windows-t3-large`, réexécutez les `kubectl describe node <node_name>` commandes `kubectl describe pod <pod_name> -n <namespace>` and.

### Autres méthodes de redimensionnement
<a name="kubecost-overview-rec-alternative-resizing"></a>

Cette méthode s'applique à toute combinaison de groupes de nœuds autogérés ou gérés. Le billet de blog sur la [migration fluide des charges de travail d'un groupe de nœuds autogérés par EKS vers des groupes de nœuds gérés par](https://aws.amazon.com/blogs/containers/seamlessly-migrate-workloads-from-eks-self-managed-node-group-to-eks-managed-node-groups/) EKS fournit des conseils sur la façon de migrer vos charges de travail d'un groupe de nœuds avec le type d'instance surdimensionné vers le groupe de nœuds correctement dimensionné, sans interruption de service.

## Étapes suivantes
<a name="kubecost-next-steps"></a>

Kubecost permet de visualiser facilement le coût de vos environnements Amazon EKS. L'intégration approfondie de Kubecost à Kubernetes AWS APIs peut vous aider à réaliser des économies potentielles. Vous pouvez les consulter sous forme de recommandations dans le tableau de bord des **économies** de Kubecost. Kubecost peut également implémenter certaines de ces recommandations pour vous grâce à sa fonction de [contrôleur de cluster](https://github.com/kubecost/cluster-turndown).

Nous vous recommandons de passer en revue le step-by-step déploiement dans le billet de blog publié sur le blog AWS Containers [AWS et Kubecost collabore pour fournir une surveillance des coûts aux clients d'EKS](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/).

## Ressources supplémentaires
<a name="kubecost-additional-resources"></a>
+ Atelier [Amazon EKS (Atelier](https://www.eksworkshop.com/) Amazon EKS)
+ [AWS et Kubecost collaborent pour fournir un suivi des coûts aux clients d'EKS (Blog](https://aws.amazon.com/blogs/containers/aws-and-kubecost-collaborate-to-deliver-cost-monitoring-for-eks-customers/))AWS 
+ Atelier [Amazon EKS Finhack (AWS atelier](https://catalog.us-east-1.prod.workshops.aws/workshops/c4ab40ed-0299-4a4e-8987-35d90ba5085e/en-US) Studio)
+ [Conteneurs Windows activés AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/1de8014a-d598-4cb5-a119-801576492564/en-US) (AWS Workshop Studio)