Kubernetes Client Benchmarks (Python)

December 9, 2025 ยท View on GitHub

This repo benchmarks five Python Kubernetes clients using 5000 Deployment resources. Each client implements the same async methods: create_one, get_one, watch_all, delete_one. The suite focuses on end-to-end latency and overhead for create/get/watch/delete paths rather than application logic.

The resource under test is a Deployment with a deliberately large Pod template designed to stress model construction and serialization across clients.

Results

Benchmark results in this repo were collected against kind (Kubernetes in Docker), which provides a fast, consistent local environment for comparing client overhead under the same cluster conditions.

python_kubernetes_clients_benchmark.png

Combined benchmark results (objects per second).

ClientObjectsPOSTGETWatchDELETE
kubesdk5000297.7883.04222.32912.0
kubernetes_asyncio5000425.2705.9862.31586.1
kr8s (async)500045.353.074.447.8
lightkube (async)500044.255.93406.457.8
official500038.152.4507.41382.6