GitHub - ksctl/ksctl: Simplified Kubernetes Clusters Lifecycle Management (Core)

ksctl - Kubernetes Simplified

Making Kubernetes accessible to developers

Discord License X/Twitter Go Report Card OpenSSF Best Practices Ask DeepWiki

📖 Overview

Ksctl simplifies the management of Kubernetes clusters across different cloud providers through a unified interface. It focuses on creating cost-efficient and sustainable Kubernetes infrastructure by intelligently optimizing resource selection and deployment. It eliminates the need for multiple cloud-specific CLIs (AWS, Azure, etc.) and handles the complex infrastructure setup for you.

✨ Key Features

  • Unified Management Interface - Manage clusters on multiple cloud providers with a single CLI.
  • Rapid Cluster Creation - Deploy production-ready clusters in 5-10 minutes with ksctl create.
  • Multi-Cloud & Cluster Types - Supports self-managed (K3s, Kubeadm) and managed clusters (AKS, EKS, GKE) across major clouds.
  • Sustainability Focus - Intelligently selects regions and instances with lower carbon footprints and higher renewable energy usage.
  • Cost Optimization - Reduces cloud expenses through smart resource selection and dynamic region switching.
  • Simplified Lifecycle Management - Create, delete, scale, and switch between clusters easily.
  • Application Stack Deployment - Deploy common applications like GitOps tools and monitoring solutions.

🏗️ Architecture

ksctl system architecture

🧩 Components

The ksctl ecosystem consists of these main components:

  • ksctl - Core component for cluster provisioning, Kubernetes bootstrap, cost optimization, and addon management
  • ksctl/cli - End-user CLI interface for cluster and addon operations
  • Ksctl Cluster Management (kcm) - Kubernetes controller for managing ksctl-specific cluster addons
  • Ksctl Application (ka) - Controller for ksctl application stack functionality

🚀 Current Capabilities

  • Cluster Operations

    • Create, delete, and get cluster infrastructure details
    • State storage in local system or MongoDB
    • Manual scaling up and down via CLI
    • Switch between clusters
    • Wasm and application stack deployment
  • Supported Cluster Types

    • Self-Managed HA Clusters:
      • K3s
      • Kubeadm
    • Cloud Managed Clusters:
      • AKS (Azure)
      • EKS (AWS)
  • Lifecycle Management

    • Deploy Wasm workloads
    • Common application stack deployment (GitOps, monitoring, etc.)

🚦 Getting Started

Visit our Getting Started guide for installation instructions and initial setup.

# Install ksctl (Linux/macOS)
curl -sSfL https://get.ksctl.com | python3 -

# Example: Create a cluster (see documentation for full instructions)
ksctl cluster create

👥 Community & Contribution

We welcome contributions from the community!

Star our repository to help others discover the project and motivate our team! ⭐

💼 Sponsorship

If you find this project valuable and would like to provide financial support, please visit our sponsorship page. Thank you for considering!

📜 License

Apache License 2.0, see LICENSE.

🙌 Contributors

Link to Contributors