You are viewing documentation for Kubernetes version: v1.29

Kubernetes v1.29 documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date information, see the latest version.

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 Kubernetes SIG API Machinery.

LanguageClient LibrarySample Programs
C.com/kubernetes-client/cbrowse
dotnet.com/kubernetes-client/csharpbrowse
Go.com/kubernetes/client-go/browse
Haskell.com/kubernetes-client/haskellbrowse
Java.com/kubernetes-client/javabrowse
JavaScript.com/kubernetes-client/javascriptbrowse
Perl.com/kubernetes-client/perl/browse
Python.com/kubernetes-client/python/browse
Ruby.com/kubernetes-client/ruby/browse

Community-maintained client libraries

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

LanguageClient Library
Clojure.com/yanatan16/clj-kubernetes-api
DotNet.com/tonnyeremin/kubernetes_gen
DotNet (RestSharp).com/masroorhasan/Kubernetes.DotNet
Elixir.com/obmarg/kazan
Elixir.com/coryodaniel/k8s
Java (OSGi)bitbucket.org/amdatulabs/amdatu-kubernetes
Java (Fabric8, OSGi).com/fabric8io/kubernetes-client
Java.com/manusa/yakc
Lisp.com/brendandburns/cl-k8s
Lisp.com/xh4/cube
Node.js (TypeScript).com/Goyoo/node-k8s-client
Node.js.com/ajpauwels/easy-k8s
Node.js.com/godaddy/kubernetes-client
Node.js.com/tenxcloud/node-kubernetes-client
Perlmetacpan.org/pod/Net::Kubernetes
PHP.com/allansun/kubernetes-php-client
PHP.com/maclof/kubernetes-client
PHP.com/travisghansen/kubernetes-client-php
PHP.com/renoki-co/php-k8s
Python.com/fiaas/k8s
Python.com/gtsystem/lightkube
Python.com/kr8s-org/kr8s
Python.com/mnubo/kubernetes-py
Python.com/tomplus/kubernetes_asyncio
Python.com/Frankkkkk/pykorm
Ruby.com/abonas/kubeclient
Ruby.com/k8s-ruby/k8s-ruby
Ruby.com/kontena/k8s-client
Rust.com/kube-rs/kube
Rust.com/ynqa/kubernetes-rust
Scala.com/hagay3/skuber
Scala.com/hnaderi/scala-k8s
Scala.com/joan38/kubernetes-client
Swift.com/swiftkube/client

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 CNCF website guidelines for more details.

You should read the content guide before proposing a change that adds an extra third-party link.

Last modified November 22, 2023 at 4:01 PM PST: Update dotnet client sample program url (cc7ff286e3)