Support for Kubernetes 1.18
Cloudability’s Metrics Agent runs within a k8s cluster and uses the in-tree cAdvisor APIs to gather usage metrics for cost allocation capabilities.
As of the 1.15 release, the k8s community began deprecating the cAdvisor JSON endpoints used by the metrics agent to collect usage metrics from nodes across a cluster. With the k8s 1.18 release, these endpoints are now turned off by default.
What you need to do
For users who deploy a self-managed k8s 1.18 cluster, these endpoints must be manually enabled in each node's kubelet. Once enabled, the Metrics Agent will operate normally.
Enabling the cAdvisor JSON endpoints is accomplished by setting the following flag on the kubelet:
For more information on how to specify kubelet flags, see Kubelet documentation.
Note: You will need to configure the kubelet on each node in the k8s cluster to turn on the cAdvisor endpoints.
Impact on Metrics Agent
Once the kubelet flag is enabled on each k8s node in the cluster, there should be no impact on the behavior of the Metrics Agent. The Metrics Agent will continue to gather resource usage metrics and the information displayed in the Codability UI and through our API should be unaffected.
What if you have a problem?
We do not anticipate any issues with enabling these cAdvisor flags. However, if you don’t enable this flag for every k8s cluster node, you will see errors in the Metrics Agent log file and your cost allocation will no longer report entirely accurate results. Running a Kubernetes 1.18 cluster with nodes that do not have this flag enabled is not a supported configuration.
Note: Data quality and support for Kubernetes 1.18 with the manual enablement of the JSON cadvisor endpoints has been tested and verified in self-managed clusters and EKS. We are working to verify support in AKS and GKE and will soon update this documentation with the results.
Apptio Engineering is working on replacing the deprecated endpoint with an equivalent source to avoid the need for this manual enablement step.
If you have any questions, please contact your Account Manager or Apptio Support.