Kubernetes (K8S) operator

CloudHiro's Kubernetes (K8S) operator for monitoring and optimization. Designed to allow attribution of K8S cost and optimize the K8S cluster usage.

The operator is built from scratch to adhere to the most rigorous security requirements, as per our customers' requirements. CloudHiro's K8S operator allows customers to see a breakdown of their cluster costs. If enabled (default to no), the operator optimizes the resource allocation inside the cluster by right-sizing pods. The operator is compatible with all flavors of Kubernetes, including but not limited to EKS, AKS, GKE, and OpenShift.

Installation instructions

  • Go to Advanced->Show External ID. Copy the Initial Token for the account the K8S is running in. You will need it in the next steps. If one does not exist, you can generate one by clicking on the "Regenerate Initial Token" link on the right.
  • Use your externalID to get an API Token for this cluster. This is a REST API call. Here is an example template:
    curl -X POST https://k8s.cloudhiro.com/K8S/K8SCollectData.php?Token=$InitialToken&Type=Token \ -d '{"initial_token":"$InitialToken", "resource_type":"K8S", "resource_id":"$ClusterName"}'
    Please make sure you replace the $InitialToken (twice) and $ClusterName placeholders with the appropriate values. CloudHiro can not pull the cluster name from inside the cluster.
  • Use the API Token to deploy CloudHiro's K8S operator to your cluster.
  • Please make sure you use a new API Token for each cluster.
  • Now you can use the helm installation and configuration parameters sections below to deploy the agent to your cluster.
  • Your data will appear in the visualizer automatically.

Helm installation

helm upgrade -i -n cloudhiro \
--create-namespace chi-metrics \
https://cloudhiro.github.io/helm-charts-chi/chi-metrics/chi-metrics-0.2.1.tgz \
--set exportjob.chToken=$APIToken \
--set exportjob.memcache_keys="pods\,pod_metrics\,nodes" \
--set memcached.persistence.enabled=false \
--set memcached.env.USE_STORAGE=null

Please make sure you replace the $APIToken above with the API Token you got in the previous step. Please use a different API Token for each cluster.

Configuration parameters

Installation is as simple as deploying a Helm chart. Actually, it is just deploying A Helm chart. Before you do that, you will need an API key, which you can easily get from our console.

Parameter Description Default
logLevel sets the log level INFO
logExecutionTime for debug purposes, sets whether execution time should be logged 0
memcached.persistence.enabled sets persistence to disk for memcache false
memcached.env.USE_STORAGE should be set to null if persistence is false  
exportjob.chToken token to use to communicate with cloudhiro  
exportjob.schedule sets the collector cronjob schedule 0 * * * *
exportjob.historyLimit sets number of collector jobs history to keep 3
exportjob.image.repository the docker repository to get the collector image from  
collectorjob.historyLimit sets number of collector jobs history to keep 3
collectorjob.schedule sets the collector cronjob schedule * * * * *
collectorjob.image.repository the docker repository to get the collector image from  

Your data should appear in your Visualizer dashboards shortly after the installation.

If you need help, we are always here.