【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
11月28日视频直播了KubeEdge系列课程第三课《KubeEdge边缘自治设计原理》。
课程首先回顾了KubeEdge的云、边、端三层整体架构。再针对KubeEdge的边缘应用管理部分,分析了EdgeCore中模块间通信原理及Edgehub、MetaManager、EdgeD三个模块的设计原理,最后演示了如何利用KubeEdge管理应用及在云边网络断开、边缘节点重启等情况下如何实现边缘自治,本次课程详情见以下回放。
本次课程的回放地址:
问1 :KubeEdge中容器编排是通过云上的controller manager来进行编排的吗?除了下发边缘完整的api对象期望状态,边缘发送ack来实现消息一致性外,边缘容器的状态还是要上报到云端,这个一致性是如何实现的?
答1:KubeEdge构建在K8s原生的调度与编排能力之上,它负责将应用的元数据可靠的下发到边缘节点。边缘端周期性上报状态node、pod信息,会不断重试上报,因此目前还未计划实现排队及ACK校验等功能。
问2:如何加入社区,参与一些工作?
答2:如果是新人刚开始参与社区,可以做一些简单的工作,例如补齐文档、添加测试用例等,社区会有标签为“help wanted”或“good first issue”的issue,都适用于新手开发者。
如果有相关开发经验,可以参与社区Bug修复、大特性的设计与实现,社区欢迎每一位贡献者!
问3:KubeEdge云边之间的消息是如何收发的,是经过edgehub~cloudhub之间的websocket吗?是否有具体的示例?
答3:KubeEdge云边消息传递是通过EdgeHub与CloudHub间的Websocket或Quic协议的长连接传递的,具体方式可参考相应源码。
问4:如果有学术想法,如何整合自己的想法到KubeEdge中?比如Kubernetes 就提供了各种语言的Client,使得可以更好的整合自己的想法,KubeEdge有没有类似的编程接口?
答4:KubeEdge构建在K8s原生的调度与编排能力之上,与K8s的API是100%兼容的,对于K8s的API对象可以使用K8s原生的Client来操作。KubeEdge中自定义的Device CRD后续也会按K8s标准生成golang语言的Client。因此可以按照K8s原生的方式来操作KubeEdge。
问5:edgecore有时候出站不稳定,该进程有时自动关闭,是什么原因?
答5:如果出现程序自动退出、重启的问题,建议查看对应的应用日志,将问题及日志以Issue的方式提到社区解决。
问6:如何实现云边数据一致性?
答6:云边数据一致性在第二次课中有详细介绍,欢迎查看第二次课程回放及PPT。
【免费直播课】KubeEdge技术详解与实战!六节课get拥抱边缘计算的正确姿势!_云容器全栈_-华为云论坛
问7:KubeEdge的API调用方式,是否计划提供sdk调用方式?
答7: 目前在云边还不支持使用“kubectl logs”查看应用日志。已有计划,会在后续版本中支持,有参与意向的同学也可参与此Issue讨论。
Add `kubectl log` support to kubeege · Issue #1014 · kubeedge/kubeedge
问8:边缘端edgecore重启,不会自动拉起使用configmap的pod,未使用configmap的pod可以正常启动吗?
答8:首先考虑edgecore重启不会引起节点业务Pod的重启,如果是边缘节点宕机引起整个节点的重启,应该考虑该Pod是否已经迁移到其他节点。
问9:如何在Ubuntu下用keadm init命令部署kubeedge v1.1版本?
答9:在最后一次课程(第六课:实践篇)中会有关于部署、应用实践等详细的演示,欢迎持续关注KubeEdge直播课。
项目的地址(欢迎Star、Folk,各种Issue、PR):
kubeedge/kubeedge来源:oschina
链接:https://my.oschina.net/u/4425967/blog/3151245