近年来,汽车产业向「电气化、智能化、网联化、共享化」快速演进,「软件定义汽车」模式和SOA理念在汽车研发和设计领域逐渐深入。无论是作为智能网联汽车云端底座的TSP平台、基于单车智能ADAS的自动驾驶体系,还是实现软件定义汽车的SOA框架,均需要更加灵活的软件开发、迭代、复用和运行架构保障。
云原生技术的快速发展和落地,大大改变了车联网应用传统的开发和运行方式。以其灵活、弹性、敏捷、自动化、高可用、易扩展等特性,为汽车行业智能网联和自动驾驶相关软件的开发和运行,提供了平台层面的助力,解决了车联网平台在新趋势下面临的上述挑战。
*云原生:在CNCF(云原生计算基金会)的定义中,云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
本文旨在深入分析云原生技术如何作用于车联网物联网基础设施构建,基于体系中最关键的车端消息采集、移动、处理和分析领域,结合EMQ相关数据基础设施软件,实现云原生的车联网基础设施架构。
传统车联网的消息处理框架在构建底层资源和运行平台端的整体框架时,往往采用本地数据中心虚拟机/物理机或云服务商虚拟机进行部署。此种模式在联网车辆快速增多、车端上传数据愈加复杂的场景下,通常会面临如下的痛点和挑战:
CNCF(Cloud Native Computing Foundation)旗下项目中以容器编排系统Kubernetes最为核心和基础。Kubernetes通过将应用程序的容器组合成逻辑单元,以便于管理与服务发现,其为开源系统,可以自由地部署在企业内部、私有云、混合云或公有云,方便用户做出自由选择。
越来越多的主机厂在业务平台的生产交付场景中,采用云原生技术打造以下能力,助力智能网联汽车的应用演进和发展。
早期EMQ产品云原生部署采用的是Helm部署方式,Operator模式的出现为实现自定义资源提供了标准的解决方案,解决了通用Kubernetes基础模型元素无法支撑不同业务领域下复杂自动化场景的痛点,为实现更加简单、高效的EMQX部署提供了全新的方式。
简单来说,Operator模式是一组自定义控制器的集合以及由这些控制器所管理的一系列自定义资源,我们将不再关注于Pod(容器)、ConfigMap等基础模型元素,而是将它们聚合为一个应用或者服务。
Operator通过控制器的协调循环来使自定义应用达到我们期望的状态,我们只需要关注该应用的期望状态,通过自定义控制器协调循环逻辑来达到7*24小时不间断的应用或者服务的声明周期管理。基于Operator的EMQX云原生框架,使得用户可以轻松基于Kubernetes的模式部署和运维EMQX集群。
Operator VS Helm
Operator的管理不仅限于Pod,也可以是多个资源(比如SVC域名等)。从这个角度上来说,Operator跟Helm一样,也是具有编排能力的。从编排角度来看,Helm与Operator有非常多的共性,很难对两者的作用进行区分。Helm也可以完成分布式系统的部署。
那么Operator跟Helm又有什么样的区别呢?
Operator工作原理
Operator使用自定义资源(CR)管理应用及其组件的自定义Kubernetes控制器,自定义资源Kubernetes中API扩展,自定义资源配置CRD会明确CR并列出Operator用户可用的所有配置,Operator监视CR类型并且采取特定于应用的操作,确保当前状态与该资源的理想状态相符。
Operator中主要有以下几种对象:
举例来说:如果定义了一个EMQX Broker的Operator,那在创建EMQX Broker的时候,就会一直协调和观察EMQX Broker真正的集群是否已创建好,以及每个节点的状态和可用性是否健康。一旦发现不符合期望的状态就会继续协调,始终保持基于事件的机制不断检查和协调,以保证期望的状态。
基于Operator模式,我们提供了EMQX Operator来帮助客户在Kubernetes的环境上快速构建和管理EMQX集群。
EMQX Operator是一个用来帮助用户在Kubernetes的环境上快速创建和管理EMQX集群的工具。它可以大大简化部署和管理EMQX集群的流程,将其变成一种低成本的、标准化的、可重复性的能力。
作为车联网的核心底层支撑组件,EMQX可以通过Kubernetes Operator进行部署、管理和运维。通过基于云原生的消息处理平台,为车联网场景中的客户开发和运维部署带来了诸多好处:
随着云原生理念在各行业的深入,云原生也将为车联网领域的平台构建与应用开发模式注入新的动力。未来EMQ将围绕对EMQX新版本特性的支持,不断完善迭代EMQX Operator,致力于在云原生模式下提供更加丰富可靠的数据基础设施能力,服务车联网行业。
留言与评论(共有 0 条评论) “” |