/kplcloud

Primary LanguageGoApache License 2.0Apache-2.0

kplcloud

开普勒平台

kplcloud是一个基于了kubernetes的应用管理系统,通过可视化的页面对应用进行管理,降低容器化成本,同时也降低了Docker及Kubernetes的学习门槛。

img.png

架构设计

该平台提供了一整套解决方案。

平台演示

演示地址: https://kplv2.nsini.com/

  • 感谢 @icowan 赞助的服务器及相关资源

所用到的相关服务,组件分别部署在腾讯云服务器上。资源非常有限,仅供大家体验,希望不用过度使用。

安装说明

平台后端基于go-kit、前端基于vuetifyjs框架进行开发。

后端所使用到的依赖全部都在go.mod里,前端的依赖在package.json,详情的请看yarn.lock,感谢开源社区的贡献。

后端代码: https://github.com/kplcloud/kplcloud

安装教程

安装教程

依赖

  • Golang 1.17+ 安装手册
  • MySQL 5.7+ (大多数据都存在mysql)
  • Docker 19.x+ 安装
  • RabbitMQ (主要用于消息队列)
  • Jenkins 2.176.2+

快速开始

  1. 二次开发启动方式
$ git clone https://github.com/kplcloud/kplcloud.git
$ cp .env.example .env
$ cd kplcloud
$ go mod download
$ make run
  1. docker-compose 方式启动

根据需要启动相应的服务

$ cd install/docker-compose
$ docker-compose up

服务默认支持的命令

可用的配置类型:
[start, watch, generate, setting, topic, watch]
有关本系统的相关概述,请参阅 http://github.com/kplcloud/kplcloud

Usage:
  kplcloud [command]

Available Commands:
  completion  generate the autocompletion script for the specified shell
  generate    生成命令 如: 数据库、初始数据等
  help        Help about any command
  reset       重置kplcloud
  setting     调整设置命令,对sys_setting的数据进行操作
  start       启动http、grpc服务
  topic       topic处理命令
  watch       watch命令

Flags:
      --db.drive string                       数据库驱动 (default "mysql")
      --db.mysql.database string              mysql数据库 (default "kplcloud")
      --db.mysql.host string                  mysql数据库地址: mysql (default "mysql")
      --db.mysql.password string              mysql数据库密码 (default "admin")
      --db.mysql.port int                     mysql数据库端口 (default 3306)
      --db.mysql.user string                  mysql数据库用户 (default "kplcloud")
      --email.from string                     邮件发送者
      --email.host string                     邮件服务器地址 (default "smtp.nsini.com")
      --email.password string                 邮件服务器密码
      --email.port int                        邮件服务器端口 (default 465)
      --email.username string                 邮件服务器用户名
  -h, --help                                  help for kplcloud
      --jenkins.host string                   Jenkins服务器地址 (default "http://jenkins:8080")
      --jenkins.password string               Jenkins服务器密码
      --jenkins.username string               Jenkins服务器用户名
      --kubernetes.selector.labels strings    Kubernetes Label 的Key (default [k8s-app,kpl.dev/name,nsini.com/name])
  -n, --namespace string                      命名空间 (default "app")
      --prometheus.host string                Prometheus服务器地址 (default "http://prometheus:9090")
      --queue.drive string                    队列系统驱动 (default "rabbitmq")
      --queue.rabbitmq.exchange string        RabbitMq队列系统交换机 (default "kplcloud-exchange")
      --queue.rabbitmq.host string            RabbitMq队列系统地址 (default "rabbitmq")
      --queue.rabbitmq.password string        RabbitMq队列系统密码 (default "admin")
      --queue.rabbitmq.port int               RabbitMq队列系统端口 (default 5672)
      --queue.rabbitmq.user string            RabbitMq队列系统用户名 (default "kplcloud")
      --queue.rabbitmq.vhost string           RabbitMq队列系统虚拟主机 (default "kplcloud")
      --redis.auth string                     连接Redis密码
      --redis.db int                          连接Redis DB (default 4)
      --redis.hosts string                    连接Redis地址 (default "redis:6379")
      --redis.prefix string                   Redis写入Cache的前缀 (default "kplcloud")
      --server.debug                          是否开启Debug模式
      --server.default.cluster string         新注册用户默认集群 (default "c1")
      --server.default.namespace string       新注册用户默认命名空间 (default "app")
      --server.default.role string            新注册用户默认角色 (default "develop")
      --server.domain string                  本系统域名 (default "https://kplv2.nsini.com")
      --server.domain.suffix string           生成域名后缀 (default "%s.%s.nsini.com")
      --server.http.proxy string              请求外部服务的Http代理地址
      --server.hub.addr string                生成镜像仓库的域名 (default "hub.nsini.com")
      --server.key string                     本系统服务密钥 (default "6Id96Zhx1eqD")
      --server.log.level string               本系统日志级别 (default "all")
      --server.log.name string                本系统日志名称 (default "kplcloud.log")
      --server.log.path string                本系统日志路径
      --server.name string                    本系统服务名称 (default "kplcloud")
      --server.self.queue                     是否使用http服务启动自动监听队列 (default true)
      --server.session.timeout int            本系统session超时时间 (default 7200)
      --server.terminal.session.timeout int   本系统终端session超时时间 (default 600)
      --server.upload.path string             本系统上传文件路径 (default "/data")
  -v, --version                               version for kplcloud

Use "kplcloud [command] --help" for more information about a command.

文档

文档

视频教程

成员

支持我

开源不易,请支持我

技术交流

  • QQ群: 722578340