Description
Currently, both kube-controller-manager
and kube-scheduler
perform service checks using the /healthz
endpoint without a way of disabling it. The health_url
config property defaults to the metrics endpoint with /metrics
replaced by /healthz
.
We are looking to use both checks with EKS, given that they now support fetching these metrics via a custom APIService
as documented here, however they do not expose the container's /healthz
endpoint meaning we experience errors on the service check and have it report a failure.
Workaround
At the moment we are (a)busing the fact the regex defaulting logic checks for an exact match of ending with /metrics
and using a prometheus_url: https://kubernetes.default.svc/apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics?
to invalidate the defaulting logic. This appears to be working with EKS for now.