Aperçu
Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !
Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.
Avec New Relic et Kubecost, vous pouvez comprendre les coûts associés à chacune de vos ressources Kubernetes.
Informations exploitables détaillées :
- Quels sont les principaux facteurs de coût de mon cluster (CPU, stockage, sortie, etc.) ?
- Quels nœuds sont à l’origine des récentes augmentations de coûts dans mon cluster ?
- Quelles sont les répartitions de coûts par espace de nommage pour ma charge de travail applicative ?
- Comment puis-je personnaliser l’estimation des coûts en fonction des prix/remises qui me sont proposés par mes fournisseurs de cloud ?
Démarrer
Ce guide suppose que vous utiliserez le serveur Prometheus fourni avec Kubecost. Il est possible d'utiliser le vôtre, même si cela sort du cadre de ce guide.
Vous devrez créer un point de terminaison Remote Write
dans New Relic, ce que vous pouvez faire en cliquant sur le bouton vert « Ajouter des données Prometheus » sur cette page. Notez que le jeton porteur sera utilisé. Écriture à distance Prometheus
Configurer l'écriture à distance Prometheus
- Sélectionnez un compte pour recevoir les données Prometheus.
- Nommez la source de données, par exemple,
kubecost
. - Générez l’URL et le jeton porteur à utiliser dans la prochaine série d’étapes.
Installez l'agent Kubecost sur votre cluster
Ensuite, installez l’agent Kubecost via Helm.
Téléchargez le fichier YAML modèle pour l'installation de l'agent Kubecost. Enregistrez-le dans
kubecost-values.yaml
.prometheus:serverFiles:prometheus.yml:remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_CLUSTER_NAMEbearer_token: YOUR_BEARER_TOKENserver:global:external_labels:cluster_id: YOUR_CLUSTER_NAMEkubecostProductConfigs:clusterName: YOUR_CLUSTER_NAMEOuvrez
kubecost-values.yaml
dans un éditeur de votre choix.Copiez et collez le point de terminaison remote_write de l’étape précédente, en remplaçant les lignes 5 et 6.
Remplacez les deux entrées
YOUR_CLUSTER_NAME
par le nom de votre cluster.Exécutez la commande Helm ci-dessous pour ajouter l'agent Kubecost à votre cluster et commencer à envoyer des données à New Relic :
bash$helm upgrade --install kubecost \>--repo https://kubecost.github.io/cost-analyzer/ cost-analyzer \>--namespace kubecost --create-namespace \>--values kubecost-values.yamlAttendez quelques minutes. Dans l’onglet précédent où vous avez configuré l’écriture à distance, cliquez sur le bouton See your data pour voir si les données ont été reçues.
Interrogez vos données :
SELECT sum(`Total Cost($)`) AS 'Total Monthly Cost'FROM (FROM Metric SELECT (SELECT sum(`total_node_cost`)FROM (FROM Metric SELECT (average(kube_node_status_capacity_cpu_cores) * average(node_cpu_hourly_cost)* 730 + average(node_gpu_hourly_cost)* 730 + average(kube_node_status_capacity_memory_bytes) / 1024 / 1024 / 1024* average(node_ram_hourly_cost) * 730) AS 'total_node_cost' FACET node))+ (SELECT (sum(acflb) / 1024 / 1024 / 1024 * 0.04) AS 'Container Cost($)'FROM (SELECT (average(container_fs_limit_bytes) * cardinality(container_fs_limit_bytes)) AS 'acflb'FROM Metric WHERE (NOT ((device = 'tmpfs')) AND (id = '/'))))+ (SELECT sum(aphc * 730 * akpcb / 1024 / 1024 / 1024) AS 'Total Persistent Volume Cost($)'FROM (FROM Metric SELECT average(pv_hourly_cost)AS 'aphc', average(kube_persistentvolume_capacity_bytes) AS 'akpcb' FACET persistentvolume, instance))AS 'Total Cost($)')
Vous pouvez suivre la documentation Kubecost pour exposer l'interface utilisateur Kubecost avec une entrée.