宣言
Wayne 是由 360 搜索云平台团队开发的,一个通用的、基于 Web 的 Kubernetes 多集群一站式可视化管理平台。内置了丰富多样的功能,满足企业的通用需求,同时插件化的方式可以方便集成定制化功能。
Wayne 已大规模服务于 360 搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。
1. 前言
众所周知,Kubernetes 已牢牢占据容器技术统治地位 ,其重要性想必不言而喻。Kubernetes 几近每 3 个月一次版本升级的速度,其代码量及复杂性已超乎想象,使用 Kubernetes 的学习成本骤增。
360 在实践容器的过程中,也遇到了同样的问题,如何降低学习成本快速上手,于是便有了基于 Web 的 Kubernetes 管理平台——Wayne。
2. 简介
Wayne 是一个 Kubernetes 的可视化管理平台,通过直观的页面操作便可完成 Kubernetes 中资源的创建、部署等操作。
采用微内核架构,通过插件化的方式将不同功能尽量的分离,更利于各种定制化功能的扩展。
在此基础上,融入了部门、项目的概念,通过 RBAC 的方式细化了资源控制的权限,适合建立企业内部的私有云平台。
开源地址:https://github.com/Qihoo360/wayne
3. 功能特性
可视化操作:提供直观、简便的方式操作 Kubernetes 集群,减小学习成本,快速上线业务。
多样的编辑模式:支持图形化编辑,也支持 Json、Yaml 两种高级定制化编辑模式。
微内核架构:采用可扩展的插件化方式开发,定制化选择特性功能,更方便的集成符合企业需求的新功能。
多集群管理:可以同时管理多个 Kubernetes 集群,更方便的管理多个集群。
丰富的权限管理:将资源抽象化为部门、项目级别,角色的权限可以更细化的控制,适用于多部门、多项目的统一集中管理。
多种登录模式:支持企业级 LDAP 登录、支持 OAuth2 登录,支持数据库登录多种模式。
完备的审计:所有操作都会有完整的审计功能,方便追踪操作历史。
开放平台:支持 APIKey 开放平台,用户可自主申请相关 APIKey 并管理自己的项目。
多层次监控:提供多级别的监控统计信息,实时关注集群的运行状态。
4. 架构图
项目整体采用前后端分离的方案实现。
前端采用 Angular 框架进行数据交互和展示,使用 Ace 编辑器进行 Kubernetes 资源模版编辑。
后端采用 Beego 框架做数据接口处理,持久层采用 MySQL 存储,使用 client-go 与 Kubernetes 进行交互。
5. 写在最后
Wayne 一直在 360 公司内部使用,目前管理的集群已超过千台,稳定管理了近千个业务,上万个容器,完成了大部分的业务上云迁移。Wayne 现在已经开源,有疏漏之处,欢迎广大使用者批评指正,也欢迎更多的使用者加入到 Wayne 的持续改进中。
评论