-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Metrics bind address and port in CAPI controllers #7957
Comments
I generally understand and agree that something like this is desirable. Some history:
Those discussions happened IIRC on this PR (#4640) and also in office hours. Independent of that, I think we should try to find a way forward which makes it easier to consume metrics from Cluster API controllers. I'm not sure if it would be productive to try to change the decision to not expose an unsecured metrics port per default (not saying I personally have a strong opinion, I just don't think that that's a good way to resolve this). I see the following options:
I think eventually 2 would be the best option, but it requires some time to actually get it done. |
/triage accepted |
I'm +1 for solution 2, the entire ecosystem will benefit from it |
hi @sbueringer, thanks! I also vote for the second solution, but it will require quite a lot of dev efforts to implement. May be it is possible to start with the first one (as it is more simple) and then start investigating the second one? |
No objection from my side, but I think we have to discuss this with more folks. Especially as solution 1 only becomes really useful if infra providers agree and are adopting this as well. |
/priority important-longterm |
Yup. Done in v1.6 and also documented for providers in the migration guide (v1.5 => v1.6) Here is the user facing documentation: https://cluster-api.sigs.k8s.io/tasks/diagnostics /close @MaxFedotov Please let us know if we missed something, but I think we're good |
@sbueringer: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
User Story
As a /user/operator I would like to collect controller-runtime metrics for CAPI controllers using the Prometheus operator without a need to patch each of the CAPI deployments manually after
clusterctl install\update
procedure.Detailed Description
All CAPI components expose controller-runtime metrics, but by default
metrics-bind-addr
is set tolocalhost
, and the metrics port is not added to the CAPI componentsDeployment
specs. So in order to be able to collect these metrics using, for example, Prometheus OperatorPodMonitor
user had to patch manually each of the CAPI component's Deployment specs, update themetrics-bind-addr
and add additionalmetrics
port. And these operations should be repeated after everyclusterctl update
performed. Although it is possible to automate this pathing, this approach could be error-prone, in case of new parameters or ports will be added toDeployment
specs in the future.Maybe it is possible to set
0.0.0.0:8080
as the default value formetrics-bind-addr
and addmetrics
port to each of the CAPI components?/kind feature
The text was updated successfully, but these errors were encountered: