simkube  by acrlabs

Kubernetes control plane simulator for record-and-replay

created 2 years ago
344 stars

Top 81.6% on sourcepulse

GitHubView on GitHub
Project Summary

SimKube provides a record-and-replay simulation environment for the Kubernetes control plane, targeting developers and researchers who need to test Kubernetes behavior under specific conditions without impacting live clusters. It enables reproducible testing by capturing and replaying control plane events.

How It Works

SimKube leverages KWOK (Kubernetes Knowledge Of What Knows) as its foundation. It consists of sk-tracer to record Kubernetes pod creation/deletion events into a trace file, sk-ctrl which acts as a Kubernetes controller to manage simulations based on these trace files, and skctl, a CLI tool for interacting with these components. The sk-ctrl creates sk-driver Kubernetes Jobs to execute the simulation logic.

Quick Start & Requirements

  • Install sk-tracer: kubectl apply -k k8s/kustomize/prod
  • Install sk-ctrl: kubectl apply -k k8s/kustomize/sim
  • Install skctl: cargo install skctl
  • Full documentation: Applied Computing's website

Highlighted Details

  • Record-and-replay simulation of Kubernetes control plane events.
  • Based on the KWOK project for Kubernetes simulation.
  • Includes CLI (skctl), controller (sk-ctrl), and tracer (sk-tracer) components.

Maintenance & Community

  • Community channel available on the Kubernetes Slack instance.
  • Open to contributions via pull requests; feature requests via discussions; bugs via issues.
  • Adheres to Applied Computing Research Labs' Code of Conduct.

Licensing & Compatibility

  • Licensed under the MIT License.
  • Contributions are licensed under the same terms ("inbound=outbound").

Limitations & Caveats

Contributions generated with LLM-based tools like GitHub Copilot are explicitly not accepted due to IP law concerns.

Health Check
Last commit

1 month ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
19 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.