架构
本章节整体介绍容器云平台的部署架构和功能架构。
部署架构
- 镜像服务,是平台部署的第一步,用来为后续部署提供镜像拉取服务。包括数据库服务,用来存放平台数据、镜像元数据等信息;镜像仓库服务,用来提供镜像拉取、镜像同步、镜像扫描、应用模版等相关服务;同时也可以对镜像服务进行多区域部署,并在不同区域之间配置镜像同步策略。
- 管理集群,一般为部署的第一个Kubernetes集群,跟其他集群没有本质区别,也可以作为用户服务的部署。其中部署了网络、日志、监控告警、相关operator及Kubernetes的的相关组件;同时,管理平台TCE也通过该集群进行运行、维护管理,包括管理平台的日志、监控、升级、扩容等。
- 通过管理集群的TCE可以创建出其他Kubernetes集群,并接管到管理平台之上,实现多集群统一管理。在实际场景中,管理集群可以部署在企业数据中心,管理数据中心的多个Kubernetes集群,也可以管理部署在公有云的Kubernetes集群,实现企业统一的企业云平台,并为向混合云的演进做好铺垫。
容器云平台的整体部署架构如下图所示。
功能架构
容器云平台包括容器服务、交付中心、中间件服务目录、运维中心等多个大的功能模块,通过对底层资源的容器化管理,实现以应用为中心的功能矩阵,从而对上层用户应用提供所需的支撑能力。整体功能架构如下图所示。
- 容器平台是基于Docker和Kubernetes技术构建的面向容器服务的管理平台,管理控制台包括API服务、管理门户、计费组件等组件,平台将与容器镜像中心对接并管理用户的公有和私有镜像。
- 定义多个集群组成集群资源池,集群里的资源可在联邦化的集群内部署和管理应用的生命周期。用户在多云或者多基础设施环境实现资源多活,多地域部署。完善产品在多云场景的支持,实现多集群应用的统一管理。
- 用户可通过管理控制台创建和管理应用容器,并通过负载均衡器进行服务发布。容器服务之间通过内网DNS进行互相发现并访问,控制台可通过集群的API对其进行管理控制。
- 通过Kubernetes将主机集群化,形成可扩展的资源池,以集群为单位可区分不同的使用环境。集群可挂载分布式存储例如Ceph。
- 容器网络支持IPv6/IPv4双栈支持,实现多设备支持。
- 容器云平台可通过集成中心对第三方系统进行对接,例如vSphere、Jenkins、OpenStack等。
- 基础设施架构向外提供的功能包括虚拟机管理、镜像管理、网络资源管理、存储备份管理、监控日志和权限管理等。
- 容器云平台系统架构可运行在物理机或虚拟机上,在高时效性要求的业务系统里会根据具体的性能测试结果部署在物理机服务器上。
- 运维管理方面,提供了资源管理、账户管理、监控告警、日志管理、操作审计和系统设置。
- 容器应用/多云容器服务包括不限于容器管理、配置管理、网络管理等。
- 平台提供一键式中间件服务,包括分布式缓存、数据库、消息队列等相关集群服务,并对其进行自动化的管理运维工作。
- 管理人员可以在“平台管理”租户上配置、安装Gitpod,配置Gitpod之后,自动为其创建负载均衡路由策略,并向策略里添加Gitpod域名规则。这些域名规则可以跟随Gitpod域名配置的更新而自动更新。研发人员进入“代码管理”页面,为GitLab仓库类别的代码源,启动CloudIDE实例,进行研发工作。