Migration Guide from Federated ETL to Kubecost v2 (Aggregator)
Last updated
Last updated
This tutorial is intended to help our users migrate from an existing federated ETL setup to Kubecost v2's Aggregator. There are a few requirements in order to successfully migrate to Kubecost v2. This new version of Kubecost includes a new backend Aggregator which handles the ETL data built from source metrics more efficiently. Kubecost v2 provides new features, optimizes UI performance, and enhances the user experience. This tutorial is meant to be performed before the user upgrades from an older version of Kubecost to v2.
Important notes for the migration process:
Verify that you are currently using the Federated ETL data federation method and you are not using Thanos data federation (Thanos users should consult a separate Migration Guide from Thanos).
Once Aggregator is enabled, all queries hit the Aggregator container and not cost-model via the reverse proxy.
For larger environments, there are additional configurations that can be made to handle the size. Please reach out to to your Kubecost representative for guidance.
This guide involves upgrading both the primary Kubecost cluster and all secondary Kubecost clusters. While it is not necessary to upgrade the secondary clusters to Kubecost 2.0+ immediately, we recommend it.
Prior to Kubecost v2, there were two acceptable methods integrating your multi-cloud accounts to Kubecost:
Populating cloud integration values directly in your values.yaml.
Using cloud integration secrets.
With Kubecost v2, Kubecost now only supports using the cloud integration secret method documented in our Multi-Cloud Integrations doc. If you are not using this method currently, please follow instructions below to create the correct cloud integration secret and apply it to your values.yaml via Helm.
After successfully creating your cloud integration secret, run the following command. Make sure the name of your file containing your secret is cloud-integration.json.
Next, apply the cloud integration secret to your values.yaml, replacing CLOUD_INTEGRATION_SECRET
with the value of the secret:
Finally, make sure to remove cloud integration values from your values.yaml if you had previously configured them. See the tabs below for any cloud service providers you've previously configured and delete any of the listed values:
Delete the following values from your primary cluster Helm values:
Add the following values to your primary cluster Helm values:
See this example .yaml for what your primary cluster configuration should look like.
Upgrade Kubecost on the primary cluster via Helm:
Once the Helm upgrade is complete, Aggregator will start processing data. This process can take as long as 24 hours depending on the size of the ETL dataset being processed. As the data is processed, it will generate in the Kubecost UI.
Delete the following values from your secondary cluster Helm values:
Add the following values to your secondary cluster Helm values:
See this example .yaml for what your secondary cluster configuration should look like.
Finally, upgrade Kubecost on the secondary cluster(s) via Helm: