搭建或使用云平台的一个主要目的是在企业内部提供PaaS功能,由PaaS 平台来支撑应用从开发、发布到运维的过程(应用全生命周期)中需要的存储、负载均衡、容错等通用功能,很多PaaS平台是基于Mesos和Kubernetes这样的分布式平台搭建的,下表1以 Mesos 和 Kubernetes 为基础的云原生 PaaS 平台相比传统 IT 架构的优势:
|
云原生PaaS平台提供的功能 |
传统IT架构解决方案 |
资源管理 |
无须事先分配资源.共享资源池,粒度小,资源利用髙 |
每个应用必须事先分配所需资源,粒度大,无法共享 |
应用发布 |
提供统一的发布管理界面,可査看发布历史 |
应用自主管理发布或回滚流程 |
应用调度 |
无须事先指定运行主机,可根据资源使用率情况自动分配 |
应用只能运行在事先指定的主机上 |
中间件集成 |
系统提供大员常用中间件的集 成,一键安装,并且为系统中间件自动提供高可用及监控功能 |
应用必须自行安装所需中间件,额外配置高可用及监控等必需功能 |
弹性扩容 |
应用可弹性扩容和缩容,无须额外配置 |
应用扩容和缩容必须更改配置,费时费力 |
系统容错 |
从系统层面解决负载迁移,失效自动重启,确保无单点失效 |
各应用必须自主处理容错和高可用机制 |
应用监控报警 |
应用有统一监控接口,提供默认的健康检査 |
很多企业没有必要的监控措施,即便有,也需要复杂的人工配置 |
日志管理 |
提供统一日志管理,自动日志釆集,通过图形界面査看日志 |
日志采集须单独配置,査看日志通常须通过命令行登录多台主机 |
安全管理 |
提供安全组及权限管理,灵活控制不同部门、机构、人员对应用的访问 |
依赖于操作系统提供的权限管理,配置复杂,无法灵活进行全局变化 |
负载均衡 |
自动提供高可用负载均衡,无须 自行配置,不同应用间的调用在负载迁移的情况下无须重新配置 |
各应用自己配置负载均衡,在系统迁移时经常需要更改配置或重新启动 |
![](/i/l/?n=22&i=blog/2941939/202209/2941939-20220903103820830-705611795.png)
Mesos 的资源分配是通过两级调度来实现的。Mesos 主节点首先从 Mesos 从节点收集空闲可用资源信息(CPU、内存、存储),然后将主机上的资源封装成资源 offer,并根据资源分配算法选择 offer 发送到应用框架,这称为第一级调度。应用框架收到资源 offer 后,根据自己的调度策略决定如何使用这些资源,并将运行任务的决策发回给 Mesos 主节点,Mesos 主节点收到调度任务信息后,将任务发送给指定目标节点上的 Mesos 从节点,Mesos 从节点完成任务的执行,这称为第二级调度。
2.应用全生命周期管理 应用发布模块负责为运行的应用提供标准化的分发流程,用户可以按照标准化的发布方式自助进行应用发布。应用发布模块功能包括∶ 所有应用可以一键安装,用户可通过 Docker image 方式自主安装和发布应用 应用配置全部通过 Web UI 方式实现; 应用实例由集群动态分配资源,无须绑定服务器 应用负载均衡由系统自动实现,无须配置 应用的运维由系统自动实现,包括自动弹性扩容、迁移和重启。 微服务和容器技术显示出它们在敏捷性、可移植性等方面的巨大优势,同时也为交付和运维带来了新的挑战∶单体式的架构被拆分成越来越多细小的服务,运行在各自的容器中,必须解决它们之间的依赖管理、服务发现、资源管理、高可用等问题。 云原生系统在应用管理方面提供应用编排及调度管理,可以管理由数十乃至数百个松散结合的容器式组件构成的应用,而这些组件遵照统一的发布规范,可以完成各组件相互间的协同合作,使既定的应用按照设计运作,按顺序在网络级别进行组织,能够按照计划运行。一般来说,应用编排及调度管理可以提供以下常用系统功能: 快速部署∶实现应用的创建、发布、部署、启动、停止等功能。 弹性伸缩:在预计应用流量达到高峰前,只需要在页面上调整应用的实例数,就可以在后台自动复制并启动多个实例。 策略约束:如果应用对机器有特殊要求,不能在集群中随时任意地迁移,平台也支持添加机器约束,比如只允许应用运行在某些机器上,或者不允许运行在部分机器上。 健康检查∶应用在发布的时候,TCP/HTTP服务可以自动检测端口或者 HTTP 服务是否可用。如果在指定时间内服务没有响应,调度平台可以自动启动新的实例,判断新的实例正常运行后,剔除非正常的实例。 3.高可用和容错 云原生架构下,系统是没有单点失效的。首先,集群管理软件本身提供高可用模式,遭遇软件或硬件故障时,依然可以进行正常的集群管理工作。其次,应用系统遭遇软件失效时,应用可以被自动重启遭遇硬件故障时,应用可自动迁移到其他服务器,如下图应用的故障迁移所示,容器化保证应用之间不会出现资源冲突(端口、存储、第三方库)。![](/i/l/?n=22&i=blog/2941939/202209/2941939-20220903103840726-860439531.png)
PaaS 平台的容错机制包括主节点的高可用、应用框架和从节点的容错、故障应用迁移,Kubernetes 同样提供集群的高可用模式,并实现了微服务的容错机制。Kubernetes 对工作节点故障的处理比较简单,它会把失效节点上运行的Pod(容器的集合)重新编排到其他可用的工作节点上。
4.运维平台 在云原生架构下,运维平台可以实现所有系统组件和应用状态的自动监控和告警,支持主机级及容器级资源监控,有统一监控面板查看系统和应用状态,并支持监控 API 扩展应用级指标。云原生系统一般对应用任务和程序进行主动式状态监控,分布式地获取执行任务或程序的资源占用和运行状态,这种对运维的支持称为可观察性。可观察性涉及的对象包括基础资源(主机)、容器编排工具和应用系统。一般来说,基础资源和容器编排工具的健康检查都是集群管理软件自带的,而应用系统的可观察性则是由应用系统及其周边生态产品提供的。 标签:PaaS,功能,Mesos,平台,应用,节点,资源 From: https://www.cnblogs.com/tiduyun/p/16652121.html