开发文档

KubePi 是一个独立项目,不依赖 KubeOperator 可独立开发运行

项目结构

  1. .
  2. ├── Dockerfile # 构建容器镜像使用的 dockerfile
  3. ├── Makefile # 编译文件
  4. ├── LICENSE
  5. ├── README.md
  6. ├── go.mod
  7. ├── conf # 配置文件
  8. ├── pkg # 主目录
  9. ├── interanl # 私有业务代码
  10. ├── migrate # 数据库变更文件目录
  11. ├── web
  12. ├── dashboard # 前端 dashboard 模块
  13. ├── kubepi # 前端管理模块
  14. └── terminal # terminal 模块

配置文件

KubePi 会默认加载该路径下的配置文件 /etc/kubepi/app.yaml,请参考下列配置创建对应目录及配置文件

  1. apiVersion: v1
  2. kind: AppConfig
  3. spec:
  4. server:
  5. bind:
  6. host: 0.0.0.0
  7. port: 80
  8. ssl:
  9. enable: false
  10. certificate:
  11. certificateKey:
  12. db:
  13. path: /var/lib/kubepi/db/kubepi.db

数据库文件

KubePi 使用 BoltDB 作为底层数据存储,使用 storm 作为上层 ORM 框架

  1. 数据库文件地址 /var/lib/kubepi/db/kubepi.db

构建二进制文件

build

  1. make build_web

启动后端服务

  1. cmd/server 目录运行
  2. go run main.go

启动前端服务

KubePi 的前端主要包括两部分,需要分别启动

管理模块

  1. web/kubepi 目录运行
  2. npm install
  3. npm run serve

dashboard 模块

  1. web/dashboard 目录运行
  2. npm install
  3. npm run serve