CloudHealth is a multi-cloud cost optimization solution that enables businesses to simplify cloud financial management, streamline operations, and strengthen security and compliance.
To avail this functionality, use this helm chart to deploy the collector agent into each Kubernetes cluster in your environment.
$ helm repo add cloudhealth https://cloudhealth.github.io/helm/
$ helm install cloudhealth-collector --set apiToken=<Unique Customer API Token>,clusterName=<Cluster Name>,chtEndpointPrefix=<Cloudhealth Endpoint Prefix> cloudhealth/cloudhealth-collector
Use the helm chart to deploy the CloudHealth Collector into each Kubernetes cluster in your environment.
- Kubernetes 1.12+
- Helm 3.0+
- CloudHealth API Token
To install the chart with the release name cloudhealth-collector
in a particular namespace <target_namespace>
(create if it does not exist), run the following commands:
$ helm repo add cloudhealth https://cloudhealth.github.io/helm/
$ helm install cloudhealth-collector -n <target_namespace> --create-namespace --set apiToken=<Unique Customer API Token>,clusterName=<Cluster Name>,chtEndpointPrefix=<Cloudhealth Endpoint Prefix> cloudhealth/cloudhealth-collector --debug
To install the chart with the release name cloudhealth-collector
in default
namespace, run the following command:
$ helm repo add cloudhealth https://cloudhealth.github.io/helm/
$ helm install cloudhealth-collector --set apiToken=<Unique Customer API Token>,clusterName=<Cluster Name>,chtEndpointPrefix=<Cloudhealth Endpoint Prefix> cloudhealth/cloudhealth-collector
The apiToken
is required for cloudhealth-collector
to work and should be either set while running helm install command as in the example above or in a secret object with the following data structure:
data:
apiToken: "PGNoYW5nZS1tZT4="
These commands deploy the CloudHealth Collector on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.
Tip: List all releases using
helm list
To update an existing release to the latest version of the chart, run the following command:
$ helm upgrade cloudhealth-collector cloudhealth/cloudhealth-collector
To uninstall the cloudhealth-collector
deployment and remove the CloudHealth Helm Chart repository, run the following commands:
$ helm uninstall cloudhealth-collector
$ helm repo remove cloudhealth
Name | Description | Value |
---|---|---|
clusterName |
Name of the cluster to be shown on the CloudHealth UI | "" |
Name | Description | Value |
---|---|---|
apiToken |
Unique Customer API Token provided by CloudHealth | "" |
chtEndpointPrefix |
CloudHealth Endpoint prefix provided by CloudHealth | use1 |
image.repository |
CloudHealth Collector image repository | cloudhealth/container-collector |
image.tag |
CloudHealth Collector image tag | 1398 |
image.pullPolicy |
CloudHealth Collector image pull policy | IfNotPresent |
image.pullSecrets |
CloudHealth Collector image pull secrets | [] |
resources.limits.cpu |
The CPU limits for CloudHealth Collector containers | 1000m |
resources.requests.cpu |
The requested CPU for CloudHealth Collector containers | 500m |
resources.limits.memory |
The Memory limits for CloudHealth Collector containers | 1024Mi |
resources.requests.memory |
The requested Memory for CloudHealth Collector containers | 512Mi |
nameOverride |
String to override common.names.fullname | "" |
fullnameOverride |
String to fully override common.names.fullname | "" |
secretName |
Kubernetes secret name created to store CloudHealth API Token & Secret | cloudhealth-config |
podAnnotations |
Additional pod annotations | {} |
podSecurityContext |
Enable security context for CloudHealth Collector pods | {} |
securityContext |
Enable security context for CloudHealth Collector | {} |
hostNetwork |
Run collector pod on Host Network | false |
affinity |
Affinity for pod assignment | {} |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
Tolerations for pod assignment | [] |
customLabels |
Custom labels to add to all resources created by this chart | {} |
customEnvVars |
Extra environment variable to add to pod created by this chart (has to be a name , value pair) |
[] |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example, the following command sets the CloudHealth Collector API Token to sample_token
and sets the cluster name to mega-cluster
.
$ helm install cloudhealth-collector --set apiToken=sample_token,clusterName=mega-cluster,chtEndpointPrefix=use1 cloudhealth/cloudhealth-collector
Example with customEnvVars
$ helm install cloudhealth-collector --set apiToken=sample_token,clusterName=mega-cluster --set "customEnvVars[0].name=ENV4" --set "customEnvVars[0].value=VALUE4" cloudhealth/cloudhealth-collector
You can also use YAML file to specify the parameters while installing the chart. For example, the following command indicates that the file values.yaml
should be used to set the parameters:
$ helm install cloudhealth-collector -f values.yaml cloudhealth/cloudhealth-collector
Tip: You can use the default values.yaml
Find more information about how to deal with common errors related to CloudHealth’s Helm charts in this troubleshooting guide.
Useful links