kplcloud(开普勒平台)是一个基于kubernetes的应用管理解决方案,通过可视化的页面对应用进行管理,降低容器化成本,同时也降低了Docker及Kubernetes的使用门槛。
什么是 PaaS?
平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可。你以即用即付的方式从云服务提供商处购买所需资源,并通过安全的 Internet 连接访问这些资源。
类似 IaaS,PaaS 也包括服务器、存储空间和网络等基础结构,但它还包括中间件、开发工具、商业智能 (BI) 服务和数据库管理系统等。PaaS 旨在支持 Web 应用程序的完整生命周期:生成、测试、部署、管理和更新。
PaaS 让你无需购买和管理软件许可证、底层应用程序基础结构和中间件、容器业务流程协调程序(如 Kubernetes)或开发工具及其他资源,从而避免了开支和复杂操作。你管理自己开发的应用程序和服务,剩余事项一般由云服务提供商负责。
Github
https://github.com/kplcloud/kplcloud
依赖
- Golang 1.12+ 安装手册
- MySQL 5.7+ (大多数据都存在mysql)
- Docker 18.x+ 安装
- RabbitMQ (主要用于消息队列)
- Jenkins 2.176.2+ (老版本对java适配可能会有问题,尽量使用新版本)
平台后端基于go-kit、前端基于ant-design(版本略老)框架进行开发。后端所使用到的依赖全部都在go.mod里,前端的依赖在package.json,详情的请看yarn.lock,这里得开源社区的贡献。
后端代码:
https://github.com/kplcloud/kplcloud前端代码:
https://github.com/kplcloud/kpaas-frontend
功能特性
- 基于 RBAC 的权限管理:用户通过角色与空间和组与项目关联,适合多租户场景,空间与角色与用户与组是多对多对多对多的关系
- 简化 Kubernetes 对象创建:Kubernetes 资源都以Yaml模版的方式创建 Kubernetes 对象
- 多种登陆方式,Emai、Github、LDAP等
- 提供自定义webhooks功能
- 保留发布历史:轻松进行回滚
- 提供 Web shell:用户可以通过 Web shell 的形式进入发布的 Pod 进行操作
- 提供站内通知系统:方便管理员推送集群、业务通知和故障处理报告等
- 提供站内通知系统:方便管理员推送集群、业务通知和故障处理报告等
- 通知告警系统支持"订阅"的方式实现,可订阅类型及接收到客户端如 Email、Wechat、IM 等
- 支持测试环境调整容器时间及克隆应用等
- 提供consul KV存储的图型界面
- 对接Jenkins、Git、Consul、Prometheus、Kubernetes、Repo等平台
特点
- 模板自定义创建
可根据自己环境的需求调整模版,不再需要过多的二次开发。
- 微信自定义消息通知
可自定义选择通知类型及所需要通知的平台
- 自己定义容器时间
根据您的需求指定应用容器的时间。
- 安全可靠的命令行终端
提供webshell的方式进入容器,方便您查询相关信息。
- 提供配置中心操作
连接consul让配置更简单,更好管理。
该平台提供了一整套解决方案。官方提供了详细的文档,感兴趣的小伙伴可以关注折腾一波!