kplcloud
Open-source version of the Kepler Platform
kplcloud is an application management system based on Kubernetes. It enables application management through a visual interface, reducing the cost of containerization while also lowering the learning curve for Docker and Kubernetes.
kplcloud has been serving some businesses of Yiren Wealth, stably managing over 100 applications and nearly 1,000 containers.
Architecture Design
The platform provides a complete set of solutions.
Platform Demo
- Special thanks to @icowan for sponsoring four servers.
The related services and components used are deployed on Alibaba Cloud and Tencent Cloud servers respectively. Resources are very limited and are provided solely for trial purposes. Please refrain from excessive usage.
Installation Guide
The backend of the platform is developed based on go-kit, and the frontend is developed using the ant-design framework (slightly older version).
All backend dependencies are listed in go.mod, and frontend dependencies are in package.json. For details, please refer to yarn.lock. We are grateful to the open-source community for their contributions.
Backend code: https://github.com/kplcloud/kplcloud
Frontend code: https://github.com/kplcloud/kpaas-frontend
Dependencies
- Golang 1.12+ Installation Guide
- MySQL 5.7+ (most data is stored in MySQL)
- Docker 18.x+ Installation
- RabbitMQ (mainly used for message queuing)
- Jenkins 2.176.2+ (older versions may have compatibility issues with Java; it is recommended to use a newer version)
Quick Start
- Clone
$ mkdir -p $GOPATH/src/github.com/kplcloud
$ cd $GOPATH/src/github.com/kplcloud
$ git clone https://github.com/kplcloud/kplcloud.git
$ cd kplcloud
- Configuration Preparation
- Place the kubeconfig file for connecting to Kubernetes in the project directory
- Place the app.cfg configuration file in the project directory as well. For the app.cfg configuration
- Start with docker-compose
$ cd install/docker-compose
$ docker-compose up
- Start with make
$ make run
Log in or sign up for Devpost to join the conversation.