karmada icon indicating copy to clipboard operation
karmada copied to clipboard

Is there any plan to provide metrics of clusters joined in karmada or other similar functionality?

Open feiyudev opened this issue 2 years ago • 5 comments

Please provide an in-depth description of the question you have:

How to get metrics of all clusters after several k8s cluster joined in karmada? It seems that I need to set up metrics for each cluster now, and get metrics from each cluster NOT karmada.

What do you think about this question?:

Karmada can manage multiple clusters, make multi-cluster into one-cluster. So here is the question, can we get metrics of multi-cluster just like one-cluster?

At present, maybe I can use the aggregator apiserver to proxy the service of metrics pod in joined clusters, and get the metrics by a long url. But I think it is not an official support.

So has the functionality above been implemented already? Or is there any plan to support the functionality above?

Thanks in advance.

Environment: (not important)

  • Karmada version: v1.2.1
  • Kubernetes version: v1.23.3
  • Others: None

feiyudev avatar Jul 27 '22 07:07 feiyudev

I think you can get it by running kubectl get cluster --kubecofig <karmada-apiserver> --context <karmada-apiserver>

BTW, it's a good idea to add some basic metrics for karmada components, WDYT? cc @RainbowMango

zirain avatar Jul 27 '22 09:07 zirain

Yes, I agree, but for now just a draft idea, no clear plan for it.

RainbowMango avatar Jul 27 '22 09:07 RainbowMango

We've been thinking about the observability of multiclusters. What do you suggest on this topic? Or describe what you think of as a multi-cluster metric.

GitHubxsy avatar Jul 27 '22 13:07 GitHubxsy

I think you can get it by running kubectl get cluster --kubecofig <karmada-apiserver> --context <karmada-apiserver>

BTW, it's a good idea to add some basic metrics for karmada components, WDYT? cc @RainbowMango

Sorry for my bad expression, the metrics I mentioned can be scraped by prometheus or other TSDB, provided by node_exporter or something else. The cluster info from karmada is not what I mean.

feiyudev avatar Jul 28 '22 05:07 feiyudev

We've been thinking about the observability of multiclusters. What do you suggest on this topic? Or describe what you think of as a multi-cluster metric.

Yeah, "observability of multilusters" is more accurate. Below is the situation for single cluster and multi cluster.

  • For single cluster, create a node_exporter workload & svc, configure the prometheus in the cluster or outside to scrape;
  • For multi clusters, create a node_exporter workload & svc in every cluster, configure the prometheus for each cluster, and maybe the communication between prometheus and metrics scraped was direct, karmada was bypassed.

So can karmada provide a method for prometheus to scrape all cluster's metrics. In other words, can karmada provide a method to reach cluster's metric instead of reaching cluster's metrics directly.

I don't know whether this is a good idea for karmada or not, so asked in this issue.

feiyudev avatar Jul 28 '22 06:07 feiyudev

/cc @zirain @RainbowMango @GitHubxsy Ask related guys to help take a look again.

XiShanYongYe-Chang avatar Apr 24 '23 07:04 XiShanYongYe-Chang