• 首页
  • >
  • 产品创新
  • >
  • PaaS管理平台

PaaS管理平台

产品描述

荣之联PaaS管理平台是一个自主研发、具有自主知识产权的面向应用的快速开发、部署以及运维管理的云计算平台。该平台以Docker容器技术为应用载体,基于广泛应用并被大规模实践验证过的开源项目Kubernetes为调度核心,为应用的快速开发部署、弹性伸缩、高可用、高扩展、高性能、高安全的运维管理平台。

平台将服务于两类主要的用户,一类是PaaS管理平台的运维管理人员,通过平台管理门户管理SaaS应用对资源的使用许可及限额等、监控各类计算资源、PaaS自身的健康状况以及运行在其上的各类SaaS应用的资源使用及健康状况, 可以大大地降低运维管理成本,提高管理效率以及为应用的高稳定、高可靠性等提供平台级的保障;另一类用户是各个SaaS服务的管理员,通过应用管理门户提交部署SaaS应用并监控自有应用的健康状况,为应用快速开发与发布,持续集成以及应用的安全可靠性提供保障。

产品功能


  • 应用管理(基于微服务架构的服务编排及发布管理)

各种服务编排在一起,能独立对外提供服务,这个集合称为应用。添加应用用来创建这个集合,在应用下可创建各种服务,根据服务间的依赖关系,可将应用进行一键发布或一键取消发布。

服务即为应用下的服务,添加服务时,可根据需要自行选择容器配置;若添加的服务依赖其他服务,系统会自动把被依赖服务的环境变量显示出来;用户可设置服务的二级域名,还可绑定自由域名,通过域名访问该服务。

发布的服务有自愈功能,Replication Controller能确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行, 如果少于指定数量的pod副本(replicas)Replication Controller会启动新的Container,反之会杀死多余的以保证数量不变。

服务升级采用灰度升级的策略,升级时,用户通过更换镜像文件,就可以利用kubernetesrc来控制升级过程,rc会自动关闭旧版本pod,启动新版本pod,直到全部替换成新版本pod,在不停止服务的情况下实现升级。


  • 容器管理


容器管理是将用户下的所有容器进行统一管理,包括对容器状态、日志、CPU、内存使用率的实时监控,还可直接在界面登陆容器控制台,实现对容器的操作。


  • 资源池管理

主机为基础设施资源,为平台的工作负载节点,提供资源,资源池即主机的集合。资源池包括资源分区和主机管理。

资源分区的目的就是将主机分组,用户部署的服务可发布在特定的分区上。


主机管理是将所有主机进行统一管理,可对主机的资源使用情况进行实时监控,还可查看主机上运行了哪些容器,若主机上运行的容器过多,导致资源不足,可将主机状态设为不可调度,这样,新发布的服务就不会调度到这台主机上,且已经运行的服务不会受到影响。

  • 核心功能区

平台核心功能包括Node节点之间建立路由、弹性伸缩、故障检测、负载均衡、容器编排、容错自愈、服务发现、网络管理和存储管理等。


路由即通过在Node节点上添加到其他Node节点上docker0的静态路由规则,将不同物理服务器上Docker Daemon创建的docker0网桥互联互通。


弹性伸缩是指适应负载变化,以弹性可伸缩方式提供资源,反映到Kubernetes中,可根据负载的高低动态调整Pod的副本数,较好的解决了资源利用率和应用系统之间的矛盾,是云计算领域的关键能力。


服务发现包括两种发现方法:环境变量和DNS。当有pod被创建的时候,Kubernetes将为Pod设置每一个Service的相关环境变量。DNS服务发现方式需要Kubernetes提供Cluster DNS支持,Cluster DNS会监控Kubernetes API,为每个Service创建DNS记录用于域名解析,这样在创建Pod时就可以通过DNS域名获取Service的访问地址。


容器编排指基于Kubernetes的负责管理各类利用Docker容器构建而成,且跨越多台主机的应用程序。


容错自愈指Pod通过探针来检查容器的健康状态,当容器处于不健康状态的时候,则Kubelet将删除该容器,并根据容器的重启策略做相应的重启,保证容器处于健康状态。


网络管理是指在Kubernetes网络中,每个Pod都拥有一个独立的IP地址,不管它们是否运行在同一个Node(宿主机)中,它们都可以直接通过对方的IP进行访问,这样用户不需要额外考虑如何建立Pod间的连接,也不需要考虑将容器端口映射到主机端口等问题。


存储管理指数据的持久化存储,容器会在不同主机上进行部署,若有需要保存的数据,用户只需申请存储卷,在创建服务时,将存储卷挂载到容器挂载点上,在使用过程中,还可根据实际情况进行扩容、格式化操作,并可以手工导入或导出文件,实现了数据的持久化存储。

  • 镜像管理

镜像是一种文件存储形式,文件管理员可以通过技术手段将很多文件制作成一个镜像,类似操作系统的镜像,包括一个完整可运行的系统,操作系统、基础组件、应用程序都可以打包在一个镜像中。管理员可将镜像导入到平台的镜像库中,作为公共镜像,对所有普通用户均可见,方便用户快速下载使用此镜像;普通用户也可导入私有镜像仅供自己使用。

  • 存储管理

存储管理是用于实现数据的持久化存储。用户需要先申请存储卷,在创建服务的时候,将存储卷挂载到容器挂载点上,在使用过程中,可以根据实际情况进行扩容、格式化操作,并可以手工导入或导出文件。管理员可以监控租户的存储卷使用情况。


  • 日志管理



日志管理包含查询操作日志、查询运行日志等功能。操作日志指的是用户审计日志,将用户对应用、主机、服务、容器、镜像的管理操作记录,方便用户定位解决问题。运行日志指的是
kubernetes的运行日志,直接调用kubernetes的日志查询页面,仅管理员有查看运行日志的权限。


  • 公共服务


公共服务包括mysql(虚机版和容器版),mongodb(虚机版和容器版),redis等。
管理员将公共服务部署成功后,普通用户可直接申请开通,并可对开通成功的公共服务进行账号管理、停用、启用、删除、mysql备份恢复、修改密码等操作,方便用户使用。


  • 系统监控


系统监控指的是用户实时监控公共服务数据库集群以及kubernetes主机、容器的运行状态,本功能包含公共服务监控和应用监控两部分. 公共服务监控通过Zabbix实现,应用监控通过cadvisor收集主机、容器资源使用状况,由Grafana展现。


  • 租户管理

租户是平台的服务对象,每个租户拥有唯一的命名空间(namespace),管理员添加一个租户时,有几种默认资源限额可供选择,也可使用此租户信息登录平台后即可进行相关操作,且该租户发布的服务,都在此命名空间中创建。


  • 用户管理

用户是租户下的账号,一个租户可以创建多个用户账号。用户管理包含对用户的添加、编辑、删除、修改密码等功能。


  • 资源计量

资源计量就是列出用户使用各个资源类型的时长,默认为最近一周开通的容器服务的使用情况,也可自行设置开通日期和资源类型进行查询。管理员可查看所有租户资源使用情况,普通用户只能看到自己资源使用情况。

产品优势/特点

  • 支持通用的IaaS平台

荣之联PaaS管理平台总体设计是以容器技术为核心,基于基础架构构建主机资源池,可以来自虚机,物理机甚至是裸机,虚机可以自有提供也可以来自于第三方云平台比如AWSAzure等公有云平台。基础架构资源池同时提供可插拔的网络和硬盘资源。


  • 基于微服务架构的应用的快速部署

平台上部署的应用基于微服务架构,提供服务编排、服务发现、服务自愈扩容、负载均衡、镜像仓库及平台高可用功能。

  • 一站式运维管理平台

管理门户提供基于Web的运维管理界面,可以方便发布、运维应用,提供服务管理、应用管理、存储卷管理、用户管理、多租户管理、资源池管理、容器管理等功能。并且针对用户角色实现权限认证管理,保障资源的安全隔离。


  • 丰富的集成服务

平台还将集成统一的配置管理、日志审计、监控报警和公共数据服务比如MysqlMongoDBRedis服务。

系统架构


  • PaaS管理平台层采用googlekubernetes分布式集群编排调度框架,内置提供服务的配额管理、安全隔离、调度发布、自愈容错和服务发现、负载均衡等功能。

  • 公共服务采用高可用的MysqlMongoDBRedis集群部署,租户基于集群开通相应的MysqlMongoRedis公共服务。公共服务通过dns域名访问。

  • 镜像仓库由租户上传应用镜像,用以发布应用。

  • PaaS ManagerJavaNode.js来构建,通过kubernetes API Server暴露出的Rest API接口访问控制kubernetes集群,并且将对外公开的kubernetes服务通过二级域名的方式注册到Nginx服务器实现外部服务访问的路由功能。

  • 平台还实现了安全控制、监控报警、日志审计和配置管理功能。

部署架构

                                                                                                                                       

                               


整个平台分为应用层、平台层和基础架构层部署:

  • 应用层包含PaaS Manager管理门户及其后台MysqlMongoRedis数据库;还包括Nginx路由服务器部署。

  • 平台层包含高可用的kubernetes集群部署和高可用的MysqlMongo集群部署。Kubernetes Master需要同时部署Standby节点和etcd集群。部署FTP服务器供租户上传应用镜像文件,部署镜像仓库用于镜像上传下载。Mysql集群采用主从高可用部署,Mongo集群采用带权限的副本集部署。部署DNS服务器用于公共服务的域名访问,Zabbix服务器用于公共服务集群的监控报警。

  • 基础架构层目前采用OpenStack虚机部署,但是也可采用其他私有云、公有云或者物理机部署。