Author: Shiming Zhang (DaoCloud), Wei Huang (Apple), Yibo Zhuang (Apple)
Have you ever wondered how to set up a cluster of thousands of nodes just in seconds, how to simulate real nodes with a low resource footprint, and how to test your Kubernetes controller at scale without spending much on infrastructure?
If you answered “yes” to any of these questions, then you might be interested in KWOK, a toolkit that enables you to create a cluster of thousands of nodes in seconds.
What is KWOK?
KWOK stands for Kubernetes WithOut Kubelet. So far, it provides two tools:
kwok
kwok
is the cornerstone of this project, responsible for simulating the lifecycle of fake nodes, pods, and other Kubernetes API resources.kwokctl
kwokctl
is a CLI tool designed to streamline the creation and management of clusters, with nodes simulated bykwok
.
Why use KWOK?
KWOK has several advantages:
- Speed: You can create and delete clusters and nodes almost instantly, without waiting for boot or provisioning.
- Compatibility: KWOK works with any tools or clients that are compliant with Kubernetes APIs, such as kubectl, helm, kui, etc.
- Portability: KWOK has no specific hardware or software requirements. You can run it using pre-built images, once Docker or Nerdctl is installed. Alternatively, binaries