The maintenance-controller exposes metrics in the Prometheus format.
They are available at the /metrics endpoint on the HTTP server listening on the port specified by the --metrics-addr flag.
It defaults to :8080.
The notable metrics are:
maintenance_controller_shuffle_count: Counts pods in DaemonSets, Deployments and StatefulSets, that were likely deleted as part of a mainteanance activity.maintenance_controller_shuffles_per_replica: Count of pods in DaemonSets, Deployments and StatefulSets, that were likely deleted as part of a maintenance activity, divided by the replica count when the event occurred.maintenance_controller_transition_failure_count: Count of state transition failures due to plugin errors. The first two help determine the impact of maintenance activities on the workloads running on the cluster.
The maintenance-controller provides a web UI to visualize the state of maintenance profiles and nodes.
It is available at the / endpoint on the HTTP server listening on the port specified by the --metrics-addr flag.
The maintenance-controller creates Kubernetes events on nodes for each state transition.
These are visible in the kubectl describe node as well as kubectl get events output.
Also, the maintenance-controller logs all errors and informational messages to the standard output.
When multiple instances of the maintenance-controller are running in a cluster, the --enable-leader-election must be set.
Otherwise, the instances will interfere with each other.