Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
June 13, 2022 05:47 pm GMT

How to Leverage Kubecost to view real-time K8s spend data in Azure

Real-time cost visibility and insights for teams using Kubernetes is provided by Kubecost.

Teams can prioritize where to focus their efforts if they install Kubecost on a single cluster or a fleet of clusters. Up to 80% of the cost of the Kubernetes cloud infrastructure can be saved by customers using Kubecost. Thousands of teams across companies of all sizes are being given the power to monitor and reduce costs.

It is easy to drive adoption within any organization with the integration of the open source Cloud Native platform.

The instructions walks you through the steps needed to setup a single AKS cluster and view all your K8s data.

We'll be using the portal to create an AKS cluster and deploy a sample application.

The first step is to deploy the cluster. Go to the portal and search for Kubernetes services -> Create -> Create a Kubernetes cluster.

Cluster details should be configured.

Basics
1. Project details:

  • Select an Azure Subscription.
  • Select or create an Azure Resource group, such as hashnode-demo.

2. Cluster details:

  • Choose the Dev/Test($) preset configuration.
  • Enter a Kubernetes cluster name, such as hashnode-demo-cluster.
  • Select a Region.
  • Select a Kubernetes version for the AKS cluster, the version used is 1.22.6 (default).

  • Primary node pool:
    Select Standard B2s if it is a testing/learning purpose. Otherwise, The default values should be left.

Networking

  • You can leave the DNS name prefix unchanged by selecting Kubenet.

It is possible to enable HTTP application routing. If you want to expose the dashboard via a Load Balancer, you need this step.

  • Click to create a review tab.

demo

The second step is configuring access to the cluster.

  • We will be using the az aks command to access the cluster. You can open the terminal and log in with the same credentials you used to create the AKS cluster.
$ az login

To confirm your identity, open your browser and look for the sign in page. You need to sign in with your account credentials.

  • Use the az aks get-credentials command to connect to your cluster. The command downloads credentials and sets the current context to use them.
$ az aks get-credentials --resource-group hashnode-demo --name hashnode-demo-cluster
  • You can use the get to return a list of the cluster nodes to verify the connection to your cluster.
$ kubectl get nodes
  • It is possible to get the nodes with the kubectl.
NAME                                STATUS   ROLES   AGE   VERSIONaks-agentpool-15282599-vmss000000   Ready    agent   36s   v1.22.6

A sample application can be deployed.

  • Create a namespace
$ kubectl create namespace nginx-app
  • You can deploy the application.
$ kubectl apply -f https://k8s.io/examples/application/deployment.yaml -n nginx-app
  • The deployment should be verified.
$ kubectl get deployments -n nginx-app

The output should look like this. Make sure the deployment is ready.

NAME               READY   UP-TO-DATE   AVAILABLE   AGEnginx-deployment   2/2     2            2           19s

Installing Kubecost on AKS

The first step is to install Kubecost.

  • You need to open the terminal and create a namespace in your cluster.
$ kubectl create namespace kubecost 
  • The official helm repository should be added.
$ helm repo add kubecost https://kubecost.github.io/cost-analyzer/ 
  • The Prometheus and Grafana dependencies will be installed in a standard installation.

Without a cost export

$ helm install kubecost kubecost/cost-analyzer --namespace kubecost

Installation of the cost-analyzer is done by helm. It will take a few minutes to complete. Once it's done, verify that all the containers are running smoothly.

$ kubectl get pods -n kubecost

The second step is to view the data. You can expose the dashboards using port forwarding.

  • The port-forward command can be run.
$ kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090
  • To see the data, open localhost:9090 in your browser.

The third step is to expose the deployment outside of the cluster. If you want to open your deployment to the world, you can expose port 9090 via the Load Balancer.

  • The file is called hashnodekubecostcost.yml has the following contents. This file can be found within this section's files.
apiVersion: v1kind: Servicemetadata:    name: public-svcspec:    type: LoadBalancer    ports:    - port: 9090selector:    app: cost-analyzer
  • Apply to a cluster.
$ kubectl apply -f hashnodekubecostcost.yml -n kubecost
  • The public-svc service has been created as a Load Balancer.
NAME                                TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGEkubecost-cost-analyzer              ClusterIP      10.2.108.159   <none>          9001/TCP,9003/TCP,9090/TCP   36skubecost-grafana                    ClusterIP      10.2.151.57    <none>          80/TCP                       36skubecost-kube-state-metrics         ClusterIP      10.2.4.201     <none>          8080/TCP                     36skubecost-prometheus-node-exporter   ClusterIP      None           <none>          9100/TCP                     36skubecost-prometheus-server          ClusterIP      10.2.218.20    <none>          80/TCP                       36spublic-svc                          LoadBalancer   10.2.114.22   <EXTERNAL-IP>   9090:32373/TCP               36s
  • View Kubecost data by visiting the public-svc address: http://:9090

Gratitude for perusing my article till end. I hope you realized something unique today. If you enjoyed this article then please share to your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.


Original Link: https://dev.to/makendrang/how-to-leverage-kubecost-to-view-real-time-k8s-spend-data-in-azure-54l0

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To