Client Libraries

This page contains an overview of the client libraries for using the KubernetesAPI from various programming languages.

To write applications using the Kubernetes REST API,you do not need to implement the API calls and request/response types yourself.You can use a client library for the programming language you are using.

Client libraries often handle common tasks such as authentication for you.Most client libraries can discover and use the Kubernetes Service Account toauthenticate if the API client is running inside the Kubernetes cluster, or canunderstand the kubeconfig fileformat to read the credentials and the API Server address.

Officially-supported Kubernetes client libraries

The following client libraries are officially maintained by Kubernetes SIG APIMachinery.

LanguageClient LibrarySample Programs
Gogithub.com/kubernetes/client-go/browse
Pythongithub.com/kubernetes-client/python/browse
Javagithub.com/kubernetes-client/javabrowse
dotnetgithub.com/kubernetes-client/csharpbrowse
JavaScriptgithub.com/kubernetes-client/javascriptbrowse
Haskellgithub.com/kubernetes-client/haskellbrowse

Community-maintained client libraries

The following Kubernetes API client libraries are provided and maintained bytheir authors, not the Kubernetes team.

LanguageClient Library
Clojuregithub.com/yanatan16/clj-kubernetes-api
Gogithub.com/ericchiang/k8s
Java (OSGi)bitbucket.org/amdatulabs/amdatu-kubernetes
Java (Fabric8, OSGi)github.com/fabric8io/kubernetes-client
Lispgithub.com/brendandburns/cl-k8s
Lispgithub.com/xh4/cube
Node.js (TypeScript)github.com/Goyoo/node-k8s-client
Node.jsgithub.com/tenxcloud/node-kubernetes-client
Node.jsgithub.com/godaddy/kubernetes-client
Node.jsgithub.com/ajpauwels/easy-k8s
Perlmetacpan.org/pod/Net::Kubernetes
PHPgithub.com/maclof/kubernetes-client
PHPgithub.com/allansun/kubernetes-php-client
PHPgithub.com/travisghansen/kubernetes-client-php
Pythongithub.com/eldarion-gondor/pykube
Pythongithub.com/mnubo/kubernetes-py
Pythongithub.com/tomplus/kubernetes_asyncio
Rubygithub.com/Ch00k/kuber
Rubygithub.com/abonas/kubeclient
Rubygithub.com/kontena/k8s-client
Rustgithub.com/clux/kube-rs
Rustgithub.com/ynqa/kubernetes-rust
Scalagithub.com/doriordan/skuber
dotNetgithub.com/tonnyeremin/kubernetes_gen
DotNet (RestSharp)github.com/masroorhasan/Kubernetes.DotNet
Elixirgithub.com/obmarg/kazan
Haskellgithub.com/soundcloud/haskell-kubernetes

Feedback

Was this page helpful?

Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it onStack Overflow.Open an issue in the GitHub repo if you want toreport a problemorsuggest an improvement.