Git Product home page Git Product logo

kamaji's Introduction

Kamaji

Kamaji deploys and operates Kubernetes at scale with a fraction of the operational burden.

Why we are building it?

Global hyper-scalers are leading the Managed Kubernetes space, while other cloud providers, as well as large corporations, are struggling to offer the same experience to their DevOps teams because of the lack of the right tools. Also, current Kubernetes solutions are mainly designed with an enterprise-first approach and they are too costly when deployed at scale.

Kamaji aims to solve these pains by leveraging multi-tenancy and simplifying how to run multiple control planes on the same infrastructure with a fraction of the operational burden.

How it works

Kamaji turns any Kubernetes cluster into an “admin cluster” to orchestrate other Kubernetes clusters called “tenant clusters”. Kamaji is special because the Control Planes of “tenant clusters” are just regular pods instead of dedicated Virtual Machines. This solution makes running Control Planes at scale cheaper and easier to deploy and operate.

Architecture Architecture

Getting started

Please refer to the Getting Started guide to deploy a minimal setup of Kamaji on KinD.

Features

  • Self Service Kubernetes: leave users the freedom to self-provision their Kubernetes clusters according to the assigned boundaries.
  • Multi-cluster Management: centrally manage multiple tenant clusters from a single admin cluster. Happy SREs.
  • Cheaper Control Planes: place multiple tenant control planes on a single node, instead of having three nodes for a single control plane.
  • Stronger Multi-Tenancy: leave tenants to access the control plane with admin permissions while keeping the tenant isolated at the infrastructure level.
  • Kubernetes Inception: use Kubernetes to manage Kubernetes by re-using all the Kubernetes goodies you already know and love.
  • Full APIs compliant: tenant clusters are fully CNCF compliant built with upstream Kubernetes binaries. A user does not see differences between a Kamaji provisioned cluster and a dedicated cluster.

Roadmap

  • Benchmarking
  • Stress-test
  • Support for dynamic address allocation on native Load Balancer
  • Zero Downtime Tenant Control Plane upgrade
  • konnectivity integration
  • Provisioning of Tenant Control Plane through Cluster APIs
  • Terraform provider
  • Custom Prometheus metrics for monitoring and alerting
  • kine integration for MySQL as datastore
  • kine integration for PostgreSQL as datastore
  • Pool of multiple datastores
  • Seamless migration between datastore with the same driver
  • Automatic assigning of Tenant Control Plane to a datastore
  • Autoscaling of Tenant Control Plane pods

Documentation

Please, check the project's documentation for getting started with Kamaji.

Contributions

Kamaji is Open Source with Apache 2 license and any contribution is welcome.

Community

Join the Kubernetes Slack Workspace and the #kamaji channel to meet end-users and contributors.

kamaji's People

Contributors

prometherion avatar bsctl avatar maxgio92 avatar mendrugory avatar ptx96 avatar alegrey91 avatar davideimola avatar maruina avatar stek29 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.