黄芪

首页 » 常识 » 预防 » PbbS平台的主要功能
TUhjnbcbe - 2023/2/10 14:40:00

搭建或使用云平台的一个主要目的是在企业内部提供PaaS功能,由PaaS平台来支撑应用从开发、发布到运维的过程(应用全生命周期)中需要的存储、负载均衡、容错等通用功能,很多PaaS平台是基于Mesos和Kubernetes这样的分布式平台搭建的,下表1以Mesos和Kubernetes为基础的云原生PaaS平台相比传统IT架构的优势:

大数据组件、数据应用和数据服务归根到底都是应用,所有应用的运行和管理最终必须由PaaS平台支撑,而不应由各个应用自行解决。随着云原生技术的成熟,绝大部分大数据应用会以云原生的方式在平台上运行,下面简单介绍一下PaaS层提供的一些主要功能:

1.资源管理

PaaS平台的一个核心功能是分布式集群管理系统负责管理和分配集群资源,包括CPU资源、内存资源、存储资源、网络资源等。例如,在Mesos集群上可以运行Marathon、Kubernetes、Hadoop、Spark、Kafka、Hive等多种框架,如下图Mesos管理的平台所示,Mesos本身只提供资源的分配,并不涉及存储、任务调度等功能,所以要将其与其他软件或系统搭配使用才能构成完整的分布式系统。Mesos、Docker、Marathon/Chronos、ZooKeeper、HDFS/Ceph构成了一个完整的分布式系统,分别负责资源分配、进程管理、任务调度、进程间通信和文件管理。

Mesos管理的平台

Mesos的资源分配是通过两级调度来实现的。Mesos主节点首先从Mesos从节点收集空闲可用资源信息(CPU、内存、存储),然后将主机上的资源封装成资源offer,并根据资源分配算法选择offer发送到应用框架,这称为第一级调度。应用框架收到资源offer后,根据自己的调度策略决定如何使用这些资源,并将运行任务的决策发回给Mesos主节点,Mesos主节点收到调度任务信息后,将任务发送给指定目标节点上的Mesos从节点,Mesos从节点完成任务的执行,这称为第二级调度。

2.应用全生命周期管理

应用发布模块负责为运行的应用提供标准化的分发流程,用户可以按照标准化的发布方式自助进行应用发布。应用发布模块功能包括∶

ü所有应用可以一键安装,用户可通过Dockerimage方式自主安装和发布应用

ü应用配置全部通过WebUI方式实现;

ü应用实例由集群动态分配资源,无须绑定服务器

ü应用负载均衡由系统自动实现,无须配置

ü应用的运维由系统自动实现,包括自动弹性扩容、迁移和重启。

微服务和容器技术显示出它们在敏捷性、可移植性等方面的巨大优势,同时也为交付和运维带来了新的挑战∶单体式的架构被拆分成越来越多细小的服务,运行在各自的容器中,必须解决它们之间的依赖管理、服务发现、资源管理、高可用等问题。

云原生系统在应用管理方面提供应用编排及调度管理,可以管理由数十乃至数百个松散结合的容器式组件构成的应用,而这些组件遵照统一的发布规范,可以完成各组件相互间的协同合作,使既定的应用按照设计运作,按顺序在网络级别进行组织,能够按照计划运行。一般来说,应用编排及调度管理可以提供以下常用系统功能:

ü快速部署∶实现应用的创建、发布、部署、启动、停止等功能。

ü弹性伸缩:在预计应用流量达到高峰前,只需要在页面上调整应用的实例数,就可以在后台自动复制并启动多个实例。

ü策略约束:如果应用对机器有特殊要求,不能在集群中随时任意地迁移,平台也支持添加机器约束,比如只允许应用运行在某些机器上,或者不允许运行在部分机器上。

ü健康检查∶应用在发布的时候,TCP/HTTP服务可以自动检测端口或者HTTP服务是否可用。如果在指定时间内服务没有响应,调度平台可以自动启动新的实例,判断新的实例正常运行后,剔除非正常的实例。

3.高可用和容错

云原生架构下,系统是没有单点失效的。首先,集群管理软件本身提供高可用模式,遭遇软件或硬件故障时,依然可以进行正常的集群管理工作。其次,应用系统遭遇软件失效时,应用可以被自动重启遭遇硬件故障时,应用可自动迁移到其他服务器,如下图应用的故障迁移所示,容器化保证应用之间不会出现资源冲突(端口、存储、第三方库)。

应用的故障迁移

PaaS平台的容错机制包括主节点的高可用、应用框架和从节点的容错、故障应用迁移,Kubernetes同样提供集群的高可用模式,并实现了微服务的容错机制。Kubernetes对工作节点故障的处理比较简单,它会把失效节点上运行的Pod(容器的集合)重新编排到其他可用的工作节点上。

4.运维平台

在云原生架构下,运维平台可以实现所有系统组件和应用状态的自动监控和告警,支持主机级及容器级资源监控,有统一监控面板查看系统和应用状态,并支持监控API扩展应用级指标。云原生系统一般对应用任务和程序进行主动式状态监控,分布式地获取执行任务或程序的资源占用和运行状态,这种对运维的支持称为可观察性。可观察性涉及的对象包括基础资源(主机)、容器编排工具和应用系统。一般来说,基础资源和容器编排工具的健康检查都是集群管理软件自带的,而应用系统的可观察性则是由应用系统及其周边生态产品提供的。

1
查看完整版本: PbbS平台的主要功能