Gouvernance des coûts avec Kubecost
La gouvernance des coûts est le processus continu d’implémentation de stratégies pour contrôler les coûts. Dans le contexte Kubernetes, les organisations peuvent contrôler et optimiser les coûts de plusieurs façons. Celles-ci incluent des outils Kubernetes natifs permettant de gérer et de régir l’utilisation des ressources et la consommation ainsi que de superviser et d’optimiser l’infrastructure sous-jacente de manière proactive.
Cette section montre comment utiliser Kubecost pour gérer les coûts d’un cluster Azure Kuberneter Service AKS. Vous pouvez étendre l’allocation des coûts à un déploiement, service, étiquette, pod ou espace de noms, ce qui facilite la rétrofacturation ou l’affichage des utilisateurs du cluster.
Installer Kubecost
Il existe plusieurs options d’installation de Kubecost. Pour en savoir plus, consultez Installing Kubecost.
La méthode d’installation recommandée est le graphique Helm 3. Pour installer une configuration de base de Kubecost avec Helm 3, utilisez les commandes suivantes :
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm repo update
helm upgrade --install kubecost kubecost/cost-analyzer --namespace kubecost --create-namespace
Après quelques minutes, vérifiez que Kubecost est opérationnel :
kubectl get pods -n kubecost
# Connect to the Kubecost dashboard UI
kubectl port-forward -n kubecost svc/kubecost-cost-analyzer 9090:9090
Vous pouvez maintenant ouvrir votre navigateur et pointer vers http://127.0.0.1:9090
pour ouvrir l’interface utilisateur Kubecost. Dans l’interface utilisateur Kubecost, sélectionnez votre cluster pour afficher les informations sur l’allocation des coûts.
Configuration de Kubecost pour Azure Cloud Integration
Pour effectuer votre installation de Kubecost, vous devez configurer Azure Cloud Integration et Azure Rate Card Configuration.
Avec Microsoft Cost Export, vous pouvez créer une tâche périodique qui exporte automatiquement sur une base quotidienne, hebdomadaire ou mensuelle vos données Cost Management dans un compte de stockage Azure. Kubecost est configuré pour accéder aux données de ce compte de stockage, ce qui lui permet d’afficher le coût total des ressources Azure dans le tableau de bord, et pas seulement les données provenant du cluster AKS. Pour que Kubecost produise des tableaux de bord exacts, vous devez marquer vos ressources Azure comme décrit dans la documentation Kubecost sur l’étiquetage des ressources Azure. Certaines ressources Azure sont créées par le cluster AKS, c’est le cas quand vous créez un service de type LoadBalancer
ou un PersistentVolume
. Pour suivre correctement le coût de ces ressources, vous pouvez utiliser des annotations dans les ressources Kubernetes afin d’ajouter les étiquettes Azure appropriées, comme par exemple dans l’article « Utiliser des étiquettes Azure dans Azure Kubernetes Service ».
Azure Rate Card Configuration est nécessaire pour rapporter les prix exacts dans votre tableau de bord. Vous devez créer un principal de service avec un rôle personnalisé, comme expliqué dans la page de documentation, et configurer Kubecost pour qu’il utilise le principal de service afin d’interroger l’API Azure Billing Rate Card.
Naviguer dans Kubecost
Kubecost décompose les ressources dans les catégories suivantes :
- Coût du cluster mensuel
- Coût de l’espace de noms
- Coût des ressources de déploiement
- Rentabilité
Sélectionnez votre cluster pour afficher une vue d’ensemble telle que le tableau de bord suivant :
Sélectionnez Allocation sur la gauche pour explorer le coût de vos ressources lié à l’espace de noms. Allocation affiche le coût du processeur, de la mémoire, des volumes persistants et du réseau. Kubecost obtient les données tarifaires Azure, mais vous pouvez également définir des coûts personnalisés pour les ressources.
Sélectionnez Savings (Économies) à gauche pour découvrir les économies liées aux ressources sous-exploitées. Savings fournit des informations sur les pods et nœuds sous-utilisés, ainsi que les ressources abandonnées, et identifie les demandes de ressources qui sont surapprovisionnées au sein du cluster. La capture d’écran suivante montre un exemple de vue d’ensemble Savings :
Prenez le temps d’explorer les différentes vues et fonctionnalités fournies par Kubecost.