An Cloud-Native application platform for Kubernetes.
Kubelilin cloud native backend .
git clone https://github.com/KubeLilin/kubelilin.git
cd kubelilin/scripts
docker-compose up -d
- 用户名: admin
- 密 码: 1234abcd
git clone https://github.com/KubeLilin/dashboard.git
cd dashboard/src
npm install --force
npm run start
- [] 平台文档化
- [] 服务治理 (注册中心,配置管理)
- [] 完善应用和部署能力
- [] 应用:部署绑定数据卷(卷、configmap )
- [] 部署环境的健康检查功能
- 项目管理:替换现在的部署环境,将导入应用,并列出应用的所有流水线并执行
- 网络中心:微服务网关集成 (apisix & service)
- 团队空间、应用集成(维护到表里)、服务连接器:jenkins、git(gitlab,gogs)、harbor
- 发布通知钉钉机器人
- 资源大盘
- Pod列表监控(cpu,内存)
- 发布通知企业微信机器人
- 流水线:中止、删除
- 应用中心:发布记录-> 回滚 | 发布接口
- 应用中心:发布接口-> 错误后应返回502(目前都是200状态) ; 发布记录不能记录成功还是失败.
- 资源中心:命名空间-> 变成团队空间(team space 用于按集群管理团队租户下的 k8s namespace) 部署、分配配额( cpu ,memory ,pods ,storage).
- 通用Git分支获取方式
- 为用户分配角色
- namespace分配配额 (cpu、内存、磁盘、pod)等
- 集群管理: 导入集群 , 导入的集群对所有租户可见
- 命名空间管理:为租户创建命名空间 默认生成 sgr-ns-{tenant_code} 比如 ns-admin 的 namespace
- 命名空间分配配额资源: CPU、内存、POD数、磁盘空间
创建应用部署的时间 ,可以看到所有集群,只能看到该租户下的NS
流水线(应用级) 一个流水线可以有多个应用
- 编译过程BUILD:
- git pull (应用中保存的git)
- 编译环境 (java 、go 、 nodejs) + 命令行
- docker build xxxxxx .
- docker push ( "hub.yoyogo.run/" + "{应用名+部署环境名+}" + ":build.number" )
- 部署DEPLOY
- 部署 k8s Deployment (应用+部署环境 确定)
- 生成 k8s service (应用+部署环境 确定)
- 网关绑定 apixsix admin api ,添加默认路由并绑定 k8s service name
未来: 服务治理:(不在本期范围) 运维中心:(不在本期范围) 链路分析 服务监控 日志服务
- 角色管理
- 用户管理
- 权限管理: (用户 角色 菜单)
功能:管理k8s集群,导入k8sconfig配置,添加新配置到集群列表。
集群信息 id ,状态,版本号,运行时,描述,网络,配置 , api server 地址 k8s config 等。
- 节点管理列表: 显示节点ID,名称,IP,状态,已分配/总资源 等,(CPU,内存使用量)。
部署环境是一种对应k8s部署的描述信息 ,一个部署对应一个集群的一个命名空间( k8s: id & namespace ) ,和一组容器 工作负载的配置信息 ( pod 的 yaml )
部署名称,所在集群,集群下的命名空间,运行状态,容器镜像,备注,运行中/预期实例数, 负载均衡IP/服务IP, 更新时间, 操作()
- 新建部署 (已完成)
- 操作子菜单 (已完成) 用于实际部署到可运行环境中配置,根据部署中的配置信息生成 K8s的部署资源并apply. (信息包括:部署名,镜像/版本,启动参数,环境变量(多), 更新方式,健康检查,资源配置cpu,内存限制,实例数等) 控制实例数量 实例清0
- 应用管理: 应用显示出多个部署的运行状态信息 (已完成)
- 新建应用: 名称 , git地址, 所在部门 ,应用 只是一个概念,它只记录,一些基础信息,比如, 应用的级别 , 来源(git地址) ,项目描述,开发语言等信息
- 应用列表: (列表) id,应用名称, 部署环境数量, 运行实例数/总实例数 , 操作(删除)
- 应用名称下钻:
- 部署环境列表: ID/部署环境名,集群,命名空间,运行状态,镜像/版本 ,运行实例数/预期实例数, 负载均衡IP/服务IP, 更新时间, 应用对应的部署环境列表(同部署环境列表)
- 容器列表, POD -> Container