Implementing metrics reporting
Metrics are a crucial aspect of any Kubernetes cluster. Metrics tools can provide detailed insights into almost any measurable data in the cluster. This is why metrics are a key part of graduating an Operator to Level IV in the Capability Model. In fact, most native Kubernetes controllers already report metrics about themselves, for example, kube-scheduler and kube-controller-manager. These components export data in metrics such as schedule_attempts_total
, which reports the number of attempts the scheduler has made to schedule Pods onto Nodes.
The original design for the Kubernetes monitoring architecture (https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/monitoring_architecture.md) defines metrics such as schedule_attempts_total
as service metrics. The alternative to service metrics is core metrics, which are metrics that are generally available from all components. Core metrics currently include information about CPU...