Kubeinn is a cloud container service platform for multi-tenant Kubernetes clusters. It provides cluster administrators with the tools to manage a shared Kubernetes cluster with ease.
Built with React, Material Design and react-admin for the frontend, Go (Golang) and Gin for the middleware and backend, and Postgres as the database.
Website • Docs • Demo- Accounts & account users to represent tenants of a shared cluster
- Secure isolation between tenant namespaces
- Built-in authentication and authorization using JSON Web Tokens (JWTs)
- Self-service resource provisioning
- Resource limits and quotas to ensure fair resource allocation
- Vendor-agnostic to run on any platform of your choice
- Centralised resource control for the single source of truth for your cluster
- Simple ticketing service to raise requests (e.g. increase resource limits, CRDs etc.)
You can deploy Kubeinn on any Kubernetes 1.18+ cluster in a matter of minutes, if not seconds.
- Kubernetes version 1.18 and above
- Persistent Volume Claims
git clone https://github.com/kubeinn/kubeinn.git
cd kubeinn
You will need to create the environment files below and replace the values with 256 bit keys.
# ./config/configmaps/secrets/pgpassword.env
POSTGRES_PASSWORD=[YOUR-256-BITS-POSTGRES-PASSWORD]
# ./config/configmaps/secrets/jwt-signing-key.env
JWT_SIGNING_KEY=[YOUR-256-BITS-JWT-SIGNING-KEY]
Keys can be generated using https://passwordsgenerator.net/.
# kube config is usually located at /root/.kube/config
# May differ according to your cloud provider
cp /root/.kube/config config/configmaps/secrets/admin-config
kubectl create namespace kubeinn
kubectl apply -k ./config
Refer to the docs page.
We ❤️ pull requests! See CONTRIBUTING.md
for information on buiding the project from source and contributing changes.
Kubeinn is licensed under the Apache License 2.0.
This library is free to use, even for commercial purpose. If you want to give back, please talk about it, help newcomers, or contribute code. If you'd like to support the development of future projects, or say thanks for this one, you can send me an email at jordan.chyehong@gmail.com.