2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

快速搞懂容器技术的核心要点

  • 2019-12-20
  • 本文字数:2877 字

    阅读完需:约 9 分钟

快速搞懂容器技术的核心要点

随着全面云化时代的到来,很多公司都走上了容器化的道路,容器化确实带来了很多便捷,也降低了公司成本,但企业在落地容器技术的过程中也踩过不少坑。


比如,对应用和架构进行大的改造没有经验,没有合适的技术人才,技术还不成熟,没有合适的应用场景等。那么,在使用容器技术时,如何更好地与现有系统进行集成和共存?


InfoQ 与华为云原生技术团队共同建立了【容器魔方】技术社群,每天在群内分享技术资料,有任何疑问都可以与群内开发者讨论。在这里我们既谈技术,也交个朋友。


扫描小助手二维码加入容器魔方技术交流群



【容器魔方】技术社群得到了来自微博大 V 阮一峰、廖雪峰等老师的倾情推荐,几位老师后续也将在社群里与大家进行互动交流。




除了技术分享,从上周开始,线上公开课正式开始。第一节课获得了社群粉丝们的热烈响应,讨论也非常激烈。在线上直播结束后,讲师也回答了网友的提问。部分问题摘取如下:

关键词 1:云边数据协同

:KubeEdge 云和边的数据协同有什么优势?


讲师回答:K8s 的原生架构中, Node (Kubelet) 是通过 List-watch 机制主动与 Master 通信。List-watch 机制有几个特点:


  1. 事件传输没有 ACK 类的校验机制,要依赖数据中心稳定的网络保证不丢事件。

  2. 每次网络断开,Node 侧都会从新执行 List 操作 (取回所有数据),要依赖数据中心稳定的网络保证长连接不频繁断开,否则对 Master 及网络都是很大的损耗。

  3. 在边缘场景下,众所周知网络都是很不稳定的,包括丢失数据、连接断开等。针对不稳定的网络,在 KubeEdge 云边协同的设计中主要采用的措施有:

  4. 把 List-watch 中的事件取出来,加了 ACK 校验机制,只有边缘收到数据且回复 ACK 信息,云端才认为发送成功,反之则进行重试;

  5. 在网络断开 (确认节点离线) 后,云端会将待同步数据持久化,等到边缘节点上线,再将缓存的待发送数据逐一下发;

  6. 针对未发送的消息实时检查合并去重,避免网络震荡。

  7. KubeEdge 的云边协同机制不仅保证了云和边之间数据的可靠传输,也避免了网络不稳定时重新 List 造成的网络压力。

关键词 2:KubeEdge 边缘节点自治

:KubeEdge 目前是如何解决边缘节点自治能力的?


讲师回答:KubeEdge 会在边缘将收到的应用、设备元数据都进行本地持久化。相比 Kubelet 在内存中缓存对象的方式,KubeEdge 可以有效保证节点离线、故障恢复时的业务自治和快速自愈。

关键词 3:边缘应用和云端数据保持一致

:边缘节点离线后,依赖数据多次变更,边缘应用和云端数据的最终一致是怎么保证的?


讲师回答:目前,KubeEdge 应用管理等操作都需要通过 K8s master 进行,针对边缘节点离线场景主要提供自治的能力,即本地持久化的数据仅用于管理节点上的应用和设备,云边通信恢复时,节点将同步更新本地元数据。


这里稍有不同的是边缘设备管理,对设备期望状态的设置需要通过 Device CRD 中的 Desired State 来操作(从云到边),而设备实际状态的上报会体现在 Reported State 中(从边到云),两个方向的数据同步不会冲突。

关键词 4:KubeEdge 与 K3s

:KubeEdge 与 K3s 的区别是什么?


讲师回答:首先是架构选型问题,K3s 选择的是在边缘运行整个 K8s 集群的方案,不具备云边协同的能力;其次, K3s 虽然对 K8s 做了轻量化,但整体资源要求仍然较高,无法运行在 IoT Hub、工业网关等小型设备中。


KubeEdge 针对边缘场景的优化包括:


  1. 针对边缘网络不稳定的情况,增加了云边数据协同的可靠性传输、边缘元数据持久化,减少了网络不稳定造成的压力震荡,实现了边缘离线自治的能力,在云边断联、节点故障恢复时保证业务不受影响;

  2. 针对边缘资源不足的情况,对 Kubelet 进行轻量化裁剪,支持在 256MB 的设备上运行;

  3. 针对复杂多样的边缘设备管理,KubeEdge 定义了一套通用的设备管理 API(K8s CRD)以及设备协议解耦层,用户可以方便地使用 KubeEdge 管理各种边缘设备。

关键词 5:中心 K8s 对边缘节点的管理

:中心 K8s 对边缘节点的管理,有哪些主要操作?


讲师回答:KubeEdge 运行在 K8s 完整的应用调度、管理能力之上,意味着 KubeEdge 的云端不负责应用的调度、管理,只是将调度到边缘节点的应用、设备元数据下发到边缘。KubeEdge 在云端的核心组件是 CloudCore,包含 EdgeController、DeviceController、CloudHub 三个模块,EdgeController、DeviceController 负责将应用、设备元数据下发到边缘,同时将来自边缘的节点状态、应用状态、设备状态刷新到 K8s 集群中;CloudHub 负责直接与边缘通信。

关键词 6:边缘节点 Nodeport 支持

:新版本边缘节点的 Service 还是仅支持 HostPort 吗,Nodeport 是否支持?


讲师回答:从 KubeEdge 1.1 版本开始集成了 CRI,意味着用户可以使用 CNI 插件来配置网络,不再限制于 Hostport。NodePort 是 K8s 中服务访问的概念,需要通过 Kube-proxy 来配置,目前在边缘端还不支持。另外 KubeEdge 提供了 EdgeMesh 实现边缘应用间的互访。

关键词 7:容器镜像拉取

:边缘节点的 Docker 容器镜像是从整个云 - 边 K8s 系统统一的镜像仓库拉取的吗?


讲师回答:只要边缘端能够访问到的镜像仓库,都能够用来拉取镜像。

关键词 8:KubeEdge 将容器化应用程序编排功能扩展到 Edge 的主机

:PPT 里提到"KubeEdge 用于将容器化应用程序编排功能扩展到 Edge 的主机。" 那么,是把云上的应用下沉到 Edge、还把终端设备上的应用提升到 Edge 呢?


讲师回答:KubeEdge 作为应用管理平台时,可以在云端统一管控,既可以把应用部署到云端节点,也可以部署到边缘节点。用户可以根据自身需求,将云端的部分业务下沉到边缘。如果需要将终端设备上的应用部署到边缘节点,也可以通过 KubeEdge 来部署。

关键词 9:边缘侧应用通信

:边缘侧的各个应用是怎么通信的?比如一个做 SQL 过滤的应用和另一个做数据分析的应用是通过 Hub 统一转发的,还是应用间就同步了,亦是通过 MQTT 等协议?同步异步消息分别怎么实现的?


讲师回答:目前 KubeEdge 中使用 EdgeMesh 机制来做边缘端应用的互访,不需要通过 Hub 与 MQTT 转发,在 EdgeMesh 实现应用互通的前提下,同步异步消息依赖用户应用自身的机制。

关键词 10:KubeEdge 节点 VS 普通节点

:KubeEdge 节点和普通节点都在 Kubectl Get Node 中获取到,这两者有什么区别?


讲师回答:没有本质区别,KubeEdge 的边缘组件会将 Node 通过云边协同通道注册到 K8s Master,唯一的不同是普通节点由 Kubelet 直接访问 Master 完成节点注册,KubeEdge 是通过云边协同通道注册,API 都是一致的。


你有想跟讲师和开发者交流讨论的问题吗?欢迎加入容器魔方技术社群。

群规说明:


1、在容器魔方技术社群里,我们会每天分享一份技术干货,不限于 PPT/PDF/ 文档等形式,讲解各大厂进行容器化改造的案例以及其中的技术难点分析。



2、小助手会根据大家近期遇到的技术难题,在群内发布话题,引导大家讨论。来看看群友们的热烈讨论:



3、技术专家不定期线上分享,关于容器技术,也关于程序员的职业思考。下一次分享时间 11 月 21 日(本周四)晚上 20:00,关于 KubeEdge 的云边协同设计原理.



4、我们也会发布学习计划,鼓励思考和愿意分享的同学在群内分享自己的技术经验,并与 4000+ 开发者在线交流。


2019-12-20 17:201317

评论

发布
暂无评论
发现更多内容

OmniGraffle Pro 7 for mac(绘图软件)

展初云

Mac OmniGraffle Pro 专业绘图软件

InDesign 2024 for mac(页面设计和版面应用程序)

展初云

adobe Mac软件 InDesign 2024 下载 InDesign

ps 2023 mac配置要求 Photoshop2023中文破解版 支持M

Rose

Photoshop 2023下载 Photoshop 2023中文版 ps 2023储存黑屏 PS2023最新版

潜水员戴夫Dave The Diver 主线游戏攻略 潜水员戴夫 Mac游戏中文版下载

Rose

Dave The Diver 潜水员戴夫游戏攻略 Mac游戏推荐 潜水员戴夫中文版下载

什么是软件定制开发?|app网站小程序定制

Geek_16d138

网站建设 app定制开发 软件定制开发

编程和数学计算软件MATLAB R2023b for Mac v23.2.0

展初云

matlab Mac软件 MATLAB R2023b

The Foundry Nuke 15 for Mac(电影特效合成软件)

展初云

Mac nuke 特效合成软件

用Mac做视频剪辑就用fcpx剪辑,Final Cut Pro中文下载

Rose

Final Cut Pro中文版 Final Cut Pro破解版 fcpx 视频剪辑Mac版 fcpx剪辑

Luminar Neo 创意图像编辑工具 支持M1

加油,小妞!

图像处理 Luminar Neo下载

OmniGraffle Pro 思维导图工具 密钥激活 附 安装教程

加油,小妞!

mac思维导图 OmniGraffle Pro下载

oneAPI & OpenVINO™ 联合开发者大会开启:英特尔持续开源创新,助力 AI 开发落地

E科讯

Mac系统下Datagrip打不开、点击没反应?

秃头小帅oi

Amazon EC2 新手初探:创建第一个 EC2 实例

王强

Amazon EC2 亚马逊云服务

物理机和云服务器到底哪个好

Geek_f19a80

服务器

轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏

SEAL安全

游戏 CI/CD Walrus 企业号11月PK榜

适用于M1 /M2 Mac的office365办公软件 Microsoft 365破解版下载

Rose

Microsoft 365 office许可证 office 365

专业ai无损放大工具-Topaz Gigapixel AI汉化一键激活版

Rose

无损放大 Topaz Gigapixel AI中文 Topaz Gigapixel AI下载 Topaz Gigapixel AI破解

浅析建筑行业财务管理数智化转型

用友BIP

企业数智化

登上CHINA DAILY!用友向全球展现中国数智力量

用友BIP

企业数智化

喜讯!云起无垠入选《2023年中国AIGC创新企业榜》

云起无垠

业内首发!用友BIP全球司库助力大型企业实现虚假贸易“零容忍”!

用友BIP

全球司库 虚假贸易

【Spring Cloud 】基于微服务架构的智慧工地云平台源码带APP

源码星辰

智慧工地 智慧工地云平台

异构集成:财务共享如何成为数据聚合、分发的控制枢纽

用友BIP

财务共享

CPU 程序性能优化

MegEngineBot

性能优化 cpu 硬件 编译器

7天!早鸟票免费倒计时!2023开放原子开发者大会等你来!

开放原子开源基金会

Java 开源 程序员 开发者大会 C++

「一体化信息建设」,江苏人社如何完成数据安全管控(成果篇)

BinTools图尔兹

运维 数据安全 数据库管理 数据库操作

快速搞懂容器技术的核心要点_架构_Kevin_InfoQ精选文章