Query kubernetes distro via API

is is possible to find out the installed kubernetes distro (e.g. vanilla kubernetes, GKE, PKS, Openshift, Rancher, AKS, EKS) via the standard kubernetes api?

Best regards,

Not really. You could probably get an idea of what provisioned it by looking for things commonly installed by each distro, but there is no real specific identifier.

ok thank you
Do you think, this this is something which could be worth adding to a future version of the api?

I don’t think so. There are so many different provisioners or distros and provisioning tools – many build off others like using kubeadm under the hood for some of the bootstrapping etc.

Noy sure how this can be implemented, but what would be your use case? What is the underlying problem you want to solve?

Our company is providing a APM solution and also supports the monitoring of kubernetes cluster. The use case would be that we want to get some statistics, which cloud providers are used by our customers and what are the most used.

From the “api/v1/nodes” i have seen, that there is already some kind of providerID available (at least for GKE, AKS, EKS, e.g.
“spec”: {
“providerID”: “aws:///eu-central-1a/…”

Therefore i was thinking if it would make sense to create a new API method which would return this info directly for a cluster (endpoint)

Ohh, I see.

As Bob was saying, this seems kind of difficult to standardize and even differentiate (kubeadm, tools based on kubeadm, just scripts for kubeadm, bootkube, etc.). I don’t think this can be done easily in a reasonable way :frowning:

This is definitely useful for us as well. Infact, would be great having following information using API.

  1. CNI type
  2. Provider type.
  3. Proxy type.
  4. Storage type.
  5. Container run time type.

I do have one cluster created with kudadm, says provider-id as None.