基于wayne构建的Kubenetes 多集群管理平面 Basa
Basa (体验版) 是一个支持 Multi-cluster Kubernetes集群的 可视化管理平台, 通过直观的页面操作便可完成Kubernetes中资源的创建、部署等操作。
采用plugin
架构,通过插件化的方式将不同功能尽量的分离
,更利于各种定制化功能的扩展。
云平台体验版地址:https://play.kubeservice.cn
云平台体验版账号:kubeservice
云平台体验版地址:kubeservice
动机
业界已经有很好的Kubernetes
集群管理平台比如:Kubesphere和Rancher, 也有很好的桌面工具Lens 都基于Kubernetes
之上封装了接口和UI更方便开发者上手和部署
但是对于企业来说:上云/云原生改造
的初衷: 上线效率
、成本核算
、权限控制
和 企业内全部资源的管理
等维度
因此设计的核心点:
- 融入
部门
、项目
、模块
概念: 通过RBAC
的方式细化了资源控制的权限,适合建立企业内部的私有云平台; - 纳管多套集群:
pod
,集群
,命名空间
等元数据自管理
; 可快速纳管全部集群 - 权限
细力度
控制: 除了kubeconfig
和RBAC
的访问权限外,平台按人员角色(管理员、部门负责人、项目负责人、开发人员、测试人员、运维人员等)
设计不同权限;运维视角
与研发视角
隔离 FaaS
能力: 方便业务方更好接入, 支持openFaaS Serverless
无差别部署- 成本核算:
FinOps
对部门、团队、项目级别
资源可做到成本分摊
- 上线效率: 即支持
webssh
通过kubectl apply
部署 也支持 页面引导式 部署 - 报表: 数字化报表, 支持
部门
、项目
、模块
的呈现 - 多集群、多租户能力:支持一键式发布不通集群,并可以动态
协同总发布实例数
目标
构建基于企业架构
, 支持成本分摊
的多云管理平台. 服务好更好的企业级私有云
平台
特性
- 支持多集群、多租户。支持K8s机器部署 和 多集群k8s集群纳管;
- 支持企业级别应用申请;
- 支持用户权限分类。支持项目管理员、项目负责人、项目成员、访客权限;
- 支持ldap登入;
- 保留完整的发布历史。支持历史发布、更改的回溯;
- 支持严密权限校验的webssh。用户可以通过 Web shell 的形式进入发布的 Pod 进行操作,自带完整的权限校验;
- 支持webhook通知:方便管理员推送集群、业务通知和故障处理报告等;
- 支持Serverless openFaaS 接入
- 支持 ingress 自动发现Pod 和 serverless function
架构
项目整体采用前后端分离的方案实现。
- 前端采用Angular框架进行数据交互和展示,使用Ace编辑器进行Kubernetes资源模版编辑
- 后端采用Beego框架做数据接口处理,持久层采用MySQL存储,使用client-go与Kubernetes进行交互
特点
图形化方式
: 易用的Web管理界面,降低企业上云
部署复杂度;基础设施编排
: 支持以使用任何公有云或者私有云
的Linux主机资源,也支持Kubernetes
内部署;容器编排与调度
: 支持Kubernetes 1.16.6 +
所有版本企业级权限管理
: 支持企业架构LDAP
、Oauth2.0
等认证方式,并支持对人员赋予不同执行权利;其他小特点
: 基于模板复制workload
;运维视角
与研发视角
隔离; 应用误删除回滚
等等20+
特性
使用
TODO
Helm
应用商店 接入- 监控报警 通过
webhook
报警 - 集群规划能力
欢迎大家加入 KubeServiceStack Community
Basa 开源工程地址: https://github.com/kubeservice-stack/basa