Client Libraries

This page contains an overview of the client libraries for using the Kubernetes API 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 to authenticate if the API client is running inside the Kubernetes cluster, or can understand the kubeconfig file format to read the credentials and the API Server address.

Officially-supported Kubernetes client libraries

The following client libraries are officially maintained by .

Language Client Library Sample Programs
dotnet
Go github.com/kubernetes/client-go/
Haskell
Java github.com/kubernetes-client/java
JavaScript
Python github.com/kubernetes-client/python/

Community-maintained client libraries

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

Language Client Library
Clojure
DotNet
DotNet (RestSharp)
Elixir github.com/obmarg/kazan
Elixir
Go
Java (OSGi)
Java (Fabric8, OSGi)
Java
Lisp
Lisp
Node.js (TypeScript)
Node.js
Node.js
Node.js
Perl
PHP
PHP
PHP
PHP
Python
Python
Python
Python
Python
Ruby
Ruby
Ruby
Rust
Rust
Scala
Scala
Swift

Items on this page refer to third party products or projects that provide functionality required by Kubernetes. The Kubernetes project authors aren't responsible for those third-party products or projects. See the

Last modified December 20, 2021 at 8:21 PM PST: