<p>We are writing a tool that can provide the health information of kubernetes cluster(in data plane) through <a href="https://kubernetes.io/docs/reference/using-api/client-libraries/" rel="nofollow noreferrer">client library</a></p>
<hr />
<p>This tool(Pod in a cluster within AKS) is deployed in AKS.  Tool uses this <a href="https://kubernetes.io/docs/reference/using-api/client-libraries/" rel="nofollow noreferrer">Client library</a> to help provide health information of kubernetes cluster(in data plane) within AKS</p>
<p>But, there are also kubernetes clusters installed on multi vendors(GCP &amp; AWS)</p>
<p>1)
How does the tool get access to kubernetes cluster running in GCP &amp; AMS? Is this credential based access?</p>
<p>2)
Can tool use the same <a href="https://kubernetes.io/docs/reference/using-api/client-libraries/" rel="nofollow noreferrer">client library</a> to get the health info of kubernetes cluster(in data plane)?</p>

overexchange
<p>In short, yes(1) and yes (2) the same application can get access to all of your various Kubernetes clusters for infrastructure vendors.</p>
<p>For Kubernetes cluster (regardless of where it is running - AKS/GCP/AWS) you can use the same k8s <code>client</code> library to access the API - the only thing that will change across providers is the <code>credentials</code> the application will use to authenticate with the server. So, same code, just different credentials. That's because it is the <em>SAME</em> API you're interacting with - the k8s API server.</p>
<p>Think of it this way, that from your application's perspective, there is no difference between k8s hosted on AWS/GCP or Azure. The application is concerned only with connecting to an API endpoint that belongs to the k8s cluster <code>api-server</code>. As long as you have configured the connectivity correctly in your cloud provider (right credentials, security group settings, routes etc.), the <em>same</em> code and application can talk to all the clusters very easily!</p>
<p>However, if you choose to utilize some of the features provided by your cloud vendor, then you will have to use the different SDKs that each vendor provides, because, naturally the APIs for AWS, GCP and Azure are different from each other and each require different code for integration. That is, if you want to query EKS or GKE or AKS for health status, instead of the Kubernetes <code>api-server</code> itself, then your code will change, but if you use the <code>api-server</code> itself, then only credentials will change.</p>
