GaiaStack是基于kubernetes打造的Docker私有云平台,腾讯内部所有BG都有产品或者服务在GaiaStack上运行。GaiaStack的本质是一个资源管理和调度平台,作为一个云操作系统服务于上层的各类应用。
GaiaStack是基于kubernetes,但是和kubernetes还是有很多不同。GaiaStack提供了从构建到交付到运行的一整套解决方案,包括代码构建、持续集成、容器服务、镜像仓库、服务编排等功能。我们最初的目标是服务公司内部产品的,现在借助互联网+和腾讯云开放GaiaStack的能力,服务更多的政企用户。
下面是GaiaStack的逻辑架构图,可以看到kubernetes是我们的核心系统,因此GaiaStack对用户交付的基本单元就是pod。但是也可以看到kubernetes只是GaiaStack的一个组件,还有很多其他关键组件。
GaiaStack更详细的物理架构图如下,主要还是基于kubernetes、Docker、Ceph、ES、etcd等开源系统,也有我们自研的很多关键组件,包括webportal、gate、apiswitch、deployment、CI-server等。我们将所有组件划分为三个层次,分别是global层、IDC层和cluster层,将所有集群的公共服务放到global层,由于IDC内部和跨IDC的网络环境差异比较大,所以我们将同一个IDC的多个集群可以共享的组件放到IDC层,如Ceph、Monitor等。
GaiaStack的特性非常多:首先是自动化运维,包括集群管理、监控告警、系统日志管理、用户账户管理等等,提供可视化、自动化的工作,降低使用者的人力成本和学习成本;支持企业内多集群、多租户管理模式,更加适用开发/测试环境的隔离,地区之间共享公共服务、企业内部多种业务共享集群等;全系统HA、热升级,即使GaiaStack平台版本升级,也不会影响应用的执行;协议兼容方面&