Qihoo360 / wayne
- вторник, 20 ноября 2018 г. в 00:16:06
TypeScript
Web UI for Kubernetes multi-clusters
Wayne 是一个通用的、基于 Web 的 Kubernetes 多集群管理平台。通过可视化 Kubernetes 对象模板编辑的方式,降低业务接入成本, 拥有完整的权限管理系统,适应多租户场景,是一款适合企业级集群使用的发布平台。
Wayne已大规模服务于360搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。
命名起源:360 搜索私有云团队多数项目命名都来源于 DC 漫画的角色,Wayne 也不例外,Wayne 是声名显赫的超级英雄蝙蝠侠 Bruce Wayne 的名字。
整体采用前后端分离的方案,其中前端采用 Angular 框架进行数据交互和展示,使用Ace编辑器进行 Kubernetes 资源模版编辑。后端采用 Beego 框架做数据接口处理,使用 Client-go 与 Kubernetes 进行交互,数据使用 MySQL 存储。
cd /tmp && touch dev.conf
若您没有可用的MySQL服务,可以通过docker-compose快速创建:
docker-compose up mysql
DBName = wayne
# MySQL address,如果MySQL是通过docker-compose启动的,
# Mac OS 下无法直接通过127.0.0.1访问,请修改为实际IP
DBTns = tcp(127.0.0.1:3306)
DBUser = root
DBPasswd = root
$ docker run --rm -e GOPATH=/go -v /tmp/dev.conf:/opt/wayne/conf/dev.conf -p 8080:8080 360cloud/wayne /opt/wayne/backend apiserver
通过上述命令,您可以从通过 http://127.0.0.1:8080/admin 访问本地 Wayne, 默认管理员账号admin:admin。
注意:项目启动后还需要配置集群和Namespace等信息才可正常使用。详见 集群配置