1
关注中国自动化产业发展的先行者!
2024中国自动化产业年会
2024
2023年工业安全大会
OICT公益讲堂
当前位置:首页 >> 资讯 >> 行业资讯

资讯频道

基于云技术的边缘计算平台基础运行环境设计
  • 厂商:北京和利时智能技术有限公司
  • 作者:北京和利时智能技术有限公司,宁波和利时智能科技有限公司谢峰,王松林
  • 点击数:5612     发布时间:2021-03-13 16:38:00
  • 分享到:
随着ICT技术的不断发展,云计算向各行业逐渐渗透,传统的工控领域也受互联网技术的影响,行业内传统的系统软件和系统解决方案正逐渐发生巨大的变化,但是在OT与IT的融合过程中,由于关注点、技术栈、应用场景、行业背景等诸多因素的阻碍,愈来愈流行的云计算技术在生产侧落地的过程中遇到了诸多的挑战。本文定位于传统工控行业,利用云技术为边缘平台设计基础的运行环境,该环境既能为传统的工业服务(采集、实时、历史等)提供支撑,也能融合当今先进的智能技术(机器视觉、机器学习、协同仿真等),具有兼容性、异构性、实时性、开发性、扩展性、可靠性、智能性、安全性等特点。
关键词:

摘要:随着ICT技术的不断发展,云计算向各行业逐渐渗透,传统的工控领域也受互联网技术的影响,行业内传统的系统软件和系统解决方案正逐渐发生巨大的变化,但是在OT与IT的融合过程中,由于关注点、技术栈、应用场景、行业背景等诸多因素的阻碍,愈来愈流行的云计算技术在生产侧落地的过程中遇到了诸多的挑战。本文定位于传统工控行业,利用云技术为边缘平台设计基础的运行环境,该环境既能为传统的工业服务(采集、实时、历史等)提供支撑,也能融合当今先进的智能技术(机器视觉、机器学习、协同仿真等),具有兼容性、异构性、实时性、开发性、扩展性、可靠性、智能性、安全性等特点。

关键词:云计算;边缘计算;OT与IT融合

1 引言

边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用和新能力的分布式开放平台(架构), 就近提供边缘智能服务,满足行业数字化在敏捷连接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求,它可以作为连接物理和数字世界的桥梁,使能智能资产、智能网关、智能系统和智能服务[1]。

从本质上讲,边缘计算是一种分布式的计算架构,而云技术能够为该架构的实现提供资源(计算、网络、存储)上的支撑,同时也是云技术能够在边缘侧落地的关键体现。边缘计算平台基础运行环境是边缘计算框架中的核心部分,它重点关注IaaS、PaaS层基础设施,为上层的工业服务或应用提供支撑, 本文将围绕如何使用现有主流的云计算技术、框架去实现一套边缘侧可落地的解决方案。

2 特征

当今现代化工业正逐步朝着工业4.0时代迈进,该阶段的 一个显著特征就是数字化、智能化,以数字孪生、机器视觉、大数据与深度学习为代表的技术将为未来的工业发展提供强大的动力,此外,随着设备、系统种类爆炸式的增长以及智能技术的发展,传统工控系统的分层模型将被打破,如图1所示, 取而代之的将是端到端的协作模式,这也是未来工业的终极目标——实现产业链各环节的互联互通。

1.png

图1 传统工控系统层级模型

未来的工业软件系统架构必定是松散的、面向服务的、可动态扩展的、安全可靠的,而云技术早已在互联网领域把这些问题都解决了,OT和IT的融合并非是谁取代谁的问题,IT技术的定位注定无法取代OT技术, 所以我们更应关注的是如何使用IT技术(如云计算)更好地为新到来的工业革命提供服务,我们目前看到就是云计算在框架、计算、隔离等方面所带来的优势,因此本文重点论述的是如何使用这些技术去搭建一套工业使用的边缘计算的基础运行环境,后续章节将逐个分析一个完整的边缘计算平台的基础环境所具备的关键元素, 以及如何使用具体技术去实现他们。

2.1 虚拟化

虚拟化技术是云计算的重要基石,它用来提供网络、计算、存储资源的基础设施,隐藏硬件细节存储管理,利用虚拟化技术可对硬件系统进行分配,实现资源隔离、安全隔离、资源利用最大化。此外对于底层的虚拟化可对上层透明,实现隔离故障、自动迁移、备份及恢复、负载均衡等,目前虚拟化技术可分为三类:裸机虚拟化、操作系统虚拟化、容器虚拟化,根据场景和需求选择不同技术。如图2所示。

2.jpg 

图2 三种虚拟化技术

针对前两种虚拟技术,表1列出了目前市面上比较流行的虚拟化产品的特性对比。

大地减少虚拟技术对软硬件资源的消耗、提升性能,由于其具有轻量、高效、跨平台、一次打包多处运行的特性,目前已在微服务架构下广泛被使用。

2.2 资源管理

资源包括硬件资源和软件资源,硬件资源包括计算机、网络、存储等设备,软件资源包括为边缘平台提供基础运行设施的系统、工具及服务,在分布式环境下, 这些资源需要能够被集中、高效、统一地管理,所以其职责包括:

(1)解决对异构网络、软件、系统的集成与集中管理问题;

(2)提供基础运行环境(网络、计算、存储), 及相关资源的监管;

(3)提供分布式、高可靠、可伸缩、多用户的集中管理功能;

(4)提供满足多种需求和场景的中间件&基础设施(如数据总线);

(5)提供满足不同层级需求的安全框架;

(6)支持微服务架构、容器技术,提供运维、部署管理(安装、配置、升级、注册、跟踪与监视、生命周期管理)功能;

(7)采集和监视平台及服务的运行状态、指标数据,当发生异常时进行报警通知;

(8)提供生态建设和管理能力;

(9)云集中管理+自治管理。

2.3 存储

边缘平台应为自身及运行其中的服务提供存储设施,用于存储各类结构化和非结构化的数据,例如实时数据、时序数据、配置数据、文件数据、视频数据、容器镜像等,其包含以下特性和功能:

(1)提供分布式的数据存储;

(2)支持对象化数据存储和访问;

(3)满足多数据库架构,如关系型数据库、非关系型数据库;

(4)多元异构数据管理;

(5)支持分级部署/按需部署;

(6)支持大容量;

(7)支持数据压缩;

(8)复杂数据统计分析;

(9)数据分区安全管理;

(10)多样化数据开放;

(11)支撑横向和纵向扩展。

2.4 日志管理

日志系统能够记录平台的运行状况、外部访问的痕迹,通过对日志的查询和分析,能够监管平台的运行状态,追溯异常事件和行为,对安全态势进行感知和预测。日志管理作为平台的基础设施,对调用者透明的调用接口,其应提供标准且可扩展的日志数据格式,满足大并发的存储与查询,自动按照配置策略执行压缩、加解密、转储、备份、迁移等操作,且支持分布式存储与高可用。日志管理还应提供各种聚合查询接口,能够满足不同的查询、分析需求。

2.5 报警管理

针对平台运行过程中发现的异常事件,应提供基于CEP的报警机制,可根据实际需求配置报警策略和发送策略,值得注意的是,此处所说的报警应该与传统工业的过程报警做区分,对工业报警的管理都是有状态的, 如发生、恢复、确认、消失等,而对边缘平台发生的报警管理仅限于触发、记录和发送,其目的是反映当前平台的运行状态,例如资源超限、服务重启、非法入侵等,以告知关注者引起注意。在分布式环境下,报警管理需要重点关注并发性、通用性、扩展性和可用性。

2.6 安全管理

工业控制系统由于其背景,在万物互联的开放环境下,其所面临的安全威胁是全世界的共同难题,工业设备的高危漏洞、后门、工业网络病毒、高级持续性威胁以及无线技术应用带来的风险,给工业控制系统的安全防护带来巨大挑战,根据国家《信息安全技术网络安全等级保护基本要求》[2]中的规定,应从以下方面关注安 全方面的管理:

(1)节点安全:计算节点自身的软硬件安全,包括固件、漏洞的升级,系统备份与迁移,防病毒软件等;

(2)网络安全:提供防火墙、入侵检测和防护、流量监测、黑白名单、抵御网络攻击等;

(3)数据安全:包括数据加密、敏感数据隔离与销毁、防篡改、备份与恢复、传输加密等;

(4)应用安全:对应用进行黑白名单管理、应用守护、安全审计、运行隔离等;

(5)安全审计与态势感知:提供完备的安全跟踪与审计系统,以及根据审计数据作态势预测;

(6)访问安全:提供集中式的身份认证与授权管理。

2.7 校时

边缘计算平台仅涉及平台监控层,虽没有硬实时的苛刻要求,但对于常规监管、分析来说仍需要保证一定的软实时性,而由于平台由分布式系统构成,所以应保证系统内各计算机、服务、组件的时钟同步,尤其在对历史数据处理方面更为重要,故而基础运行环境应提供全局范围内的校时机制,通过设置校时服务器保证系统各部分时钟的统一。

2.8 控制台

对分布式环境下资源、服务的统一管理监管是一件头疼的事,所面临的计算、服务分散、种类繁多,而且云技术各成熟的程序套件大都来自于开源项目,各自都有对应的管理、配置工具和监管界面,例如涉及容器的环境,由于其内部虚拟网络对外不透明,无法通过IP端口直接访问,这就需要借助容器管理系统(例如K8s) 进行统一监管,如何将各种管理UI集中在一起统一管理,是控制台要做的事情,它负责提供统一的人机交互界面,通过后台调用把各类服务集成在一起,且屏蔽专业的词汇和概念,使使用者更容易理解和操控。

2.9 安装与部署

使用手动配置和部署平台各组件在分布式环境下是行不通的,边缘平台应提供支持集中式的远程部署工具,可批量安装、部署系统组件,配置软件参数、版本升级与回滚,同时还应考虑在不联网情况下的离线安装功能,主要功能包括:

(1)支持一键部署;

(2)支持可视化配置;

(3)支持多虚机批量配置;

(4)支持虚机配置信息预览;

(5)支持虚机状态检测;

(6)支持部署过程可视化;

(7)同时支持在线/离线部署;

(8)支持平台模板定义;

(9)支持集群模板定义;

(10)支持服务模板定义;

(11)支持组件模板定义。

3 实现

3.1 虚拟化

虚拟化技术也称Hypervisor,是一种运行在物理服务器和操作系统之间的中间软件层,可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor 协调这些硬件资源的访问,以及各个虚拟机之间的防护。服务器启动时,它会加载所有虚拟机客户端的操作系统,同时为虚拟机分配内存、磁盘和网络等。

针对传统数据中心的基础架构利用率低、物理基础架构成本日益攀升、IT管理成本不断提高以及对关键应用故障和灾难保护不足等问题而设计和实现。可以将静态、复杂的IT环境转变为动态、易于管理的虚拟数据中心,从而降低数据中心成本和机房能耗。同时,它可以提供先进的管理功能,实现虚拟数据中心的集成和自动化,简化运维,降低管理成本,最终帮助用户把更多的时间和成本转移到对业务的投入上。

针对容器化技术,虚拟化技术隔离性上高于容器, 对环境要求较高的各类应用,可能会希望独享虚机,不被其他应用使用。

根据Hypervisor所处层次的不同和Guest OS对硬件资源的不同使用方式,Hypervisor虚拟化被分为两种类型:Bare-metal虚拟化方式(“裸机”虚拟化)和Host OS虚拟化方式(基于操作系统的虚拟化,宿主型虚拟化),其中“裸机”虚拟化性能更高。技术架构如图3所示。

3.png

图3 Hypervisor技术架构 

Bare-metal类型的Hypervisor虚拟化环境中无须完整的Host OS,直接将Hypervisor部署在裸机上并将裸机服务器的硬件资源虚拟化,也可以将Hypervisor 理解为仅对硬件资源进行虚拟和调度的薄操作系统,其并不提供常规Host OS的功能。

Host OS类型将Hypervisor虚拟化层安装在传统的操作系统中,虚拟化软件以应用程序进程形式运行在Windows和Linux等主机操作系统中。

考虑到平台对资源和性能方面的要求,优先考虑使用“裸机”虚拟化方式,可选的国内厂家例如浪潮、华为等。

3.2 资源管理

由于虚拟机厂家提供了专业的虚拟化资源管理工具,本部分不做描述,而是重点关注针对容器化资源的管理,使用容器化管理技术,提供集中、高可靠的轻量容器运行环境。

目前可选择K3s容器技术作为边缘计算平台容器集群管理架构及应用容器运维支撑,主要原因如下:

(1)保障高可用

高可用包括K3s管理节点的高可用和应用容器的高可用。K3s通过部署两个Server节点,保障其集群管理节点的高可用;通过在K3s集群中部署应用容器冗余副本,保障应用的高可用。

(2)运行时所需资源轻量化

边缘计算平台提供的系统资源(CPU和内存)有限,要求除应用之外其他支撑服务组件不能过多占用系统资源。K3s以单进程形式运行,其所需资源较低,具体为:K3s-Server需要CPU约160M,内存约500M; K3s-Agent需要CPU约80M,内存约100M。与其他容器管理技术(Swarm和K8s)运行时需要2G以上相比,所需资源降低很多。

(3)孤网独立部署和运行

边缘计算平台需具备独立运行的能力,K3s本身支持边缘端部署,而不依赖云上或中心云集群。

(4)容器编排和调度

 K3s是CNCF官方认证K8s裁剪的发行版,K8s被业界视为容器调度和编排的标准。由于K3s完全兼容K8s 功能特性,其支持应用容器调度到特定工作节点,同时满足应用容器的启停、滚动升级和应用间通过服务发现进行访问。

(5)应用容器监控

对应用容器的监控包括资源和运行状态的监控。K3s通过内置监控组件,能够实时采集应用容器资源指标和运行状态信息,并提供资源查询操作界面,满足对应用容器的监控。

K3s架构如图4所示。 

4.png

图4 基于K3s的容器管理环境

K3s分Server和Agent两部分,Server就是K3s 管理平面,负责管理Agent节点和应用容器的调度; Agent是K3s的数据平面,是应用容器的工作节点。需要一个MySQL数据库作为K3s元数据存储库;Tunnel Proxy负责Server和Agent通信。Containerd是轻量化的容器运行时,支撑K3s集群的底层容器运行时。

K3s由Rancher Lab主导开发并开源,其社区活跃度很高,目前在GitHub上已经拥有超过12.4k颗 Stars,已发布149个版本。

3.3 存储

边缘计算平台涉及的存储场景包括配置数据存储、时序数据存储、镜像库、关系库,以下针对不同种类的数据存储要求描述对应的解决方案。

对于配置数据和时序数据,选择GlusterFS作为边缘计算平台容器卷存储,主要原因如下:

(1)无中心架构

没有专用元数据存储服务器,不存在元数据服务器瓶颈。

(2)满足高可用

支持集群化部署,存储模式可设置多副本冗余,解决单点故障问题。图5是GlusterFS高可用部署架构。

5.png 

图5 GlusterFS架构图 

(3)轻量化

运行时所需要的资源比较小,内存约50M左右。

(4)高性能

提供的数据卷支持TB级容量、GB级吞吐量。GlusterFS为开源业界中主流分布式文件系统,

具有很强的横向扩展能力,支持TB级存储,能更好地为容器提供持久化存储服务。GlusterFS在GitHub有2,500颗Stars,已经发布了544个版本。

对于容器的镜像库,选择Harbor作为边缘计算平台Docker镜像存储与分发服务,原因如下:

(1)友好Web界面

自带Web管理界面,支持登录、搜索镜像,创建公有和私有镜像仓库。

(2)高可用部署

支持高可用集群方式部署,部署架构如图6所示。

6.png 

图6 Harbor部署架构图

(3) 轻 量 化                       

Harbor运行时所需资源较少,需要内存约200M。

(4)RBAC安全机制

基于RBAC权限控制,可将人员、角色分配不同的 权限,具有更好的安全性。

Harbor属于企业级开源的成熟Docker镜像库管理软件,在Docker Registry基础上增加了安全访问控制和管理等功能以满足企业需求。Harbor在GitHub有11,500颗Stars,已经发布了103个版本。

针对于关系库,可使用的软件产品较多,推荐以主流的开源数据库为主例,如MySQL、MariaDB等,可支持单节点方式和集群方式,利用其日志机制,可实现备数据备份、同步与故障恢复的功能。

3.4 日志管理

边缘计算平台自身产生的运行日志和事件日志可采用关系库MariaDB存储,而调试日志以容器存储卷挂载的方式保存到GLusterFS中。平台后端提供日志查询的API,并提供对应用调试日志的预览和下载API, 以供平台控制台前端展示调用。应用调试日志也可以通过日志采集组件进行采集,要求应用调试日志是标准的日志格式,把采集的日志以Json文件格式保存到GlusterFS中,供日志分析使用。日志管理架构如图7 所示。 

7.png

图7 日志管理架构图

3.5 报警管理

报警管理用于对平台运行过程中监测到的异常事件进行预警,主要分为监测指标的采集和报警规则的配置,对于容器运行环境,容器(服务容器和应用容器)性能指标(CPU、内存和网络I/O)通过指标采集器Metric-Server聚合后,由Prometheus从Metric- Server中拉取这些指标数据存储到Prometheus中。边 缘平台后端封装Prometheus原生的API后,给控制台 前端提供查询展示。边缘平台控制台中可以设置应用容器的性能指标报警触发规则,报警由AlertManager触发,并把报警信息保存到关系库MariaDB中,平台提供对报警历史信息的展示。如图8所示。

8.png

图8 报警管理架构图

3.6 安全管理

安全管理包含对通信、数据、权限等方面的管理, 本节重点描述对权限相关管理的实现,采用UAA实现鉴权服务,UAA基于RBAC96标准(RBAC,Role-Based Access Control,基于角色的访问控制)设计开发,并扩展了分组以及功能资源和数据许可的概念,支持公认的安全原则:最小特权原则、责任分离原则和数据抽象原则。

(1)最小特权原则:系统中可以限制分配给角色权限的多少和大小;

(2)责任分离原则:系统可以在完成敏感任务过程中分配两个责任上互相约束的两个角色;

(3)数据抽象:系统抽象出了抽象许可权这样的概念来实现数据权限的控制。

权限系统作为边缘平台用户中心及授权中心,为边缘平台提供认证、授权,以及鉴权服务。以下列出了权限管理的建设目标:

(1)提供一套用户、角色、权限管理系统,为边缘平台提供认证与鉴权服务;

(2)支持中心云平台和边缘平台的用户权限数据同步。

3.7 校时

平台提供校时服务,以本区域内的时钟源为准,对本区域内的虚拟机及运行在虚拟机中的容器进行时间校准。若本区域内的时钟源存在多个,则校时服务以其中一个为主校时,当主校时服务不可用时,以另一个为准进行校时,主校时服务器如果可外接时钟源(如GPS校时),则使系统全局时钟更精准。

平台内部各主机,采用NTP方式进行同步,无需校时接口,NTP同步方式较精准,局域网延迟小于1ms 时,校时精度小于0.5ms。

NTP协议主流有两种实现:ntpd和chronyd。两者配置有差异,在Ubuntu 16.04及以上版本和CentOS 7及以上版本的Linux发行版中使用chronyd,在其他发行版或较低版本的Linux中使用ntpd。

3.8 控制台

本地控制台是边缘平台的UI交互界面,汇聚多个服务的UI交互。主要职责为:权限管理、应用管理、节点管理、容器管理、存储卷管理、日志管理、镜像管理、配置管理、运行监控等。

以下列出了本地控制台的具体建设目标:

(1)提供一套UI界面,用于边缘平台的UI交互;

(2)支持边缘平台用户权限数据的查询;

(3)支持边缘平台对容器运行环境的管理,包括:节点、容器等;

(4)支持边缘平台对应用的管理,如:应用的部署、启动、停止等;

(5)支持边缘平台对容器运行环境、服务、应用、虚拟机的监控,如资源使用情况;

(6)边缘计算平台监控部分包括IaaS、PaaS资源的监控,一期先做基于容器资源监控与管理。

9.png

 图9 控制台架构图

3.9 安装与部署

平台提供在线、离线部署方式,通过部署软件包和部署策略实现集中的安装与部署工作,具体部署步骤如下:

(1)上传部署文件

通过FTP工具或其他方式把部署文件传输到服务器(物理机或虚机)上。

(2) 启动工具UI服务

(3)在界面上执行部署

在界面上选择安装组件,填写对应的服务器信息。

(4)监控部署过程

在控制台上监控部署的过程,若出现部署异常,部署命令会停止部署,核实原因后,重新部署。在重新部署过程中,若已经部署服务,则会跳过该服务的安装部署。

(5)部署完成

在部署结束后,会列出所部署的主机列表。如图10所示。

10.png 

图10 安装与部署软件UI

4 结论

本文提出的工业领域边缘计算平台的基础运行环境,包含和概括了所有边缘计算平台都具备的本质特征, 它能够使云技术和传统的工控技术相融合,对后续边缘计算产品的设计和研发具备一定的指导作用,且在笔者的实际工作过程中已经将此框架成功地进行实践与应用。

作者简介:

谢 峰(1982-),男,河南人,中级工程师,硕士,现任北京和利时智能技术有限公司、宁波和利时智能科技有限公司系统设计师,主要研究方向为工业自动化软件。

王松林(1983-),男,山东人,中级工程师,硕士, 现任北京和利时智能技术有限公司、宁波和利时智能科技有限公司资深软件工程师,主要研究方向为工业自动化软件。

参考文献: 

[1] 边缘计算产业联盟, 工业互联网产业联盟. 边缘计算参考架构3.0[Z]. 2018. 

[2] GB/T 22239 - 2019, 信息安全技术网络安全等级保护基本要求[S].

摘自《自动化博览》2021年2月刊

热点新闻

推荐产品

x
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: