Wayne是什么?Wayne是一个通用的、基于Web的Kubernetes多集群管理平台。通过可视化Kubernetes对象模板编辑的方式,降低业务接入成本,拥有完整的权限管理系统,适应多租户场景,是一款适合企业级集群使用的发布平台。Wayne已大规模服务于搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。命名的起源:搜索私有云团队多数项目命名都来源于DC漫画的角色,Wayne也不例外,Wayne是声名显赫的超级英雄蝙蝠侠BruceWayne的名字。架构图整体采用前后端分离的方案,其中前端采用Angular框架进行数据交互和展示,使用Ace编辑器进行Kubernetes资源模版编辑。后端采用Beego框架做数据接口处理,使用Client-go与Kubernetes进行交互,数据使用MySQL存储。Features基于RBAC(Rolebasedaccesscontrol)的权限管理:用户通过角色与部门和项目关联,拥有部门角色允许操作部门资源,拥有项目角色允许操作项目资源,更加适合多租户场景。简化k8s对象创建:提供基础k8s对象配置文件添加方式,同时支持高级模式直接编辑Json/Yaml文件创建k8s对象。LDAP/OAuth2.0/DB多种登录模式支持:集成企业级LDAP登录及DB登录模式,同时还可以实现OAuth2登录。支持多集群、多租户:可以同时管理多个Kubernetes集群,并针对性添加特定配置,更方便的多集群、多租户管理。提供完整审计模块:每次操作都会有完整的审计功能,追踪用于操作历史,同时支持用户自定义webhook。提供基于APIKey的开放接口调用:用户可自主申请相关APIKey并管理自己的部门和项目,运维人员也可以申请全局APIKey进行特定资源的全局管理。保留完整的发布历史:用户可以便捷的找到任何一次历史发布,并可轻松进行回滚,以及基于特定历史版本更新k8s资源。具备完善的资源报表:用户可以轻松获取各项目的资源使用占比和历史上线频次(天级)以及其他基础数据的报表和图表。提供基于严密权限校验的webshell:用户可以通过webshell的形式进入发布的Pod进行操作,自带完整的权限校验。提供站内通知系统:方便管理员推送集群、业务通知和故障处理报告等。组件WebUI:提供完整的业务开发和平台运维功能体验。Worker:扩展一系列基于消息队列的功能,例如audit和webhook等审计组件。文档Wayne文档包含以下三类文档:
概述:包含Wayne的整体介绍,并包含本项目开发、部署、发版等流程规范和约定,供Wayne开发者使用。管理员后台指南:指导kubernetes集群运维团队将线上集群和Wayne集成起来,并介绍相关管理功能。业务维护者(开发/运维/测试工程师等)使用指南:指导上云业务开发者如何使用Wayne部署自己开发的业务到kubernetes集群中。使用Kubernetes部署生产环境中推荐使用kubernetes部署克隆代码仓库$gogetgithub.
转载请注明:http://www.aierlanlan.com/cyrz/8114.html