简介:本文将分析云原生技术如何作用于车联网物联网基础设施构建。
近年来,汽车产业向「电气化、智能化、网联化、共享化」快速演进,「软件定义汽车」模式和 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 的管理不仅限于 Pod,也可以是多个资源(比如 SVC 域名等)。从这个角度上来说,Operator 跟 Helm 一样,也是具有编排能力的。从编排角度来看,Helm 与 Operator 有非常多的共性,很难对两者的作用进行区分。Helm 也可以完成分布式系统的部署。
那么 Operator 跟 Helm 又有什么样的区别呢?
Operator 使用自定义资源(CR)管理应用及其组件的自定义 Kubernetes 控制器,自定义资源 Kubernetes 中 API 扩展,自定义资源配置 CRD 会明确 CR 并列出 Operator 用户可用的所有配置,Operator 监视 CR 类型并且采取特定于应用的操作,确保当前状态与该资源的理想状态相符。
Operator 中主要有以下几种对象:
基于 Operator 模式,我们提供了 EMQX Operator 来帮助客户在 Kubernetes 的环境上快速构建和管理 EMQX 集群。
EMQX Operator 是一个用来帮助用户在 Kubernetes 的环境上快速创建和管理 EMQX 集群的工具。 它可以大大简化部署和管理 EMQX 集群的流程,将其变成一种低成本的、标准化的、可重复性的能力。
作为车联网的核心底层支撑组件,EMQX 可以通过 Kubernetes Operator 进行部署、管理和运维。通过基于云原生的消息处理平台,为车联网场景中的客户开发和运维部署带来了诸多好处:
随着云原生理念在各行业的深入,我们相信云原生也将为车联网领域的平台构建与应用开发模式注入新的动力。未来 EMQ 将围绕对 EMQX 新版本特性的支持,不断完善迭代 EMQX Operator,致力于在云原生模式下提供更加丰富可靠的数据基础设施能力,服务于车联网行业。
版权声明: 本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/cloud-native-smart-connected-car-messaging