内容摘录
License
Go Reference
codecov
CI - KSail
🛥️🐳 KSail
!ksail
KSail is a tool that bundles common Kubernetes tooling into a single binary. It provides a VSCode Extension, CLI, AI-Enabled Chat TUI or MCP interface to create clusters, deploy workloads, and operate cloud-native stacks across different distributions and providers.
Why KSail?
Setting up and operating Kubernetes clusters often requires juggling multiple CLI tools, writing bespoke scripts, and dealing with inconsistent workflows. KSail removes the tooling overhead so you can focus on your workloads.
**No Vendor Lock-In:** KSail works with native distribution configurations (Kind's kind.yaml, K3d's config, Talos patches, vCluster's vcluster.yaml) — you can run the same cluster outside KSail using the underlying tools directly. KSail is a superset that provides a unified workflow while preserving full compatibility with Kind, K3d, Talos, and vCluster.
Key Features
📦 **One Binary** — Embeds cluster provisioning, GitOps engines, and deployment tooling. No tool sprawl.
☸️ **Simple Clusters** — Spin up Vanilla, K3s, Talos, or VCluster clusters with one command. Same workflow across distributions.
🔓 **No Lock-In** — Uses native configs (kind.yaml, k3d.yaml, Talos patches, vcluster.yaml). Run clusters with or without KSail.
📥 **Mirror Registries** — Avoid rate limits, and store images once. Same mirrors used by different clusters.
📄 **Everything as Code** — Cluster settings, distribution configs, and workloads in version-controlled files.
🔄 **GitOps Native** — Built-in Flux or ArgoCD support with bootstrap, push, and reconcile commands.
⚙️ **Customizable Stack** — Select your CNI, CSI, policy engine, cert-manager, and mirror registries.
🔐 **SOPS Built In** — Encrypt, decrypt, and edit secrets with integrated cipher commands.
🤖 **AI Assistant** — Interactive chat powered by GitHub Copilot for configuration and troubleshooting.
💻 **VSCode Extension** — Manage clusters from VSCode with wizards, sidebar views, and command palette.
Getting Started
Prerequisites
KSail works on all major operating systems and CPU architectures:
| OS | Architecture |
|-----------------------------------------------|--------------|
| 🐧 Linux | amd64, arm64 |
| macOS | arm64 |
| ⊞ Windows (native untested; WSL2 recommended) | amd64, arm64 |
**Docker is required** for local clusters. Install Docker Desktop/Engine and ensure docker ps works.
Supported distributions run on different infrastructure providers:
| Provider | Vanilla | K3s | Talos | VCluster |
|----------|----------|---------|-------|----------|
| Docker | ✅ (Kind) | ✅ (K3d) | ✅ | ✅ (Vind) |
| Hetzner | — | — | ✅ | — |
Installation
See the Installation Guide for detailed installation instructions.
VSCode Extension
For VSCode users, install the KSail extension to manage clusters directly from your editor. See the extension documentation for features and usage.
Usage
!ksail-mental-model
Native Configuration Files
KSail generates standard distribution configuration files that you can use directly with the underlying tools:
This means you're never locked into KSail — you can migrate away at any time or use both KSail and native tools interchangeably.
Documentation
Browse the documentation at <https://ksail.devantler.tech> (GitHub Pages)
Contributing
Contributions are welcome! Please read CONTRIBUTING.md for details on our development process, coding standards, and how to submit pull requests.
Related Projects
KSail is a powerful tool that can be used in many different ways. Here are some projects that use KSail in their setup:
| Project | Description | Type |
|-----------------------------------------------------------------------|---------------------|----------|
| devantler-tech/platform | My personal homelab | Platform |
If you use KSail in your project, feel free to open a PR to add it to the list, so others can see how you use KSail.
Presentations
**KSail - a Kubernetes SDK for local GitOps development and CI** - A presentation on KSail at KCD2024 (Early version of KSail that was built in .NET).
Blog Posts
Local Kubernetes Development with KSail and Kind
Local Kubernetes Development with KSail and K3d
Local Kubernetes Development with KSail and Talos
Creating Kubernetes Clusters on Hetzner with KSail and Talos
AI-first TUI for KSail with Copilot SDK and Bubbletea
Star History
<a href="https://www.star-history.com/#devantler-tech/ksail&type=timeline&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=devantler-tech/ksail&type=timeline&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=devantler-tech/ksail&type=timeline&legend=top-left" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=devantler-tech/ksail&type=timeline&legend=top-left" />
</picture>
</a>