KubeEdge創始人 課後答疑——《KubeEdge邊緣自治設計原理》

11月28日視頻直播了KubeEdge系列課程第三課《KubeEdge邊緣自治設計原理》。html

課程首先回顧了KubeEdge的雲、邊、端三層總體架構。再針對KubeEdge的邊緣應用管理部分,分析了EdgeCore中模塊間通訊原理及Edgehub、MetaManager、EdgeD三個模塊的設計原理,最後演示瞭如何利用KubeEdge管理應用及在雲邊網絡斷開、邊緣節點重啓等狀況下如何實現邊緣自治,本次課程詳情見如下回放。node

本次課程的回放地址:git

媒體中心github

問1 :KubeEdge中容器編排是經過雲上的controller manager來進行編排的嗎?除了下發邊緣完整的api對象指望狀態,邊緣發送ack來實現消息一致性外,邊緣容器的狀態仍是要上報到雲端,這個一致性是如何實現的?golang

答1:KubeEdge構建在K8s原生的調度與編排能力之上,它負責將應用的元數據可靠的下發到邊緣節點。邊緣端週期性上報狀態node、pod信息,會不斷重試上報,所以目前還未計劃實現排隊及ACK校驗等功能。web

 

問2:如何加入社區,參與一些工做?編程

答2:若是是新人剛開始參與社區,能夠作一些簡單的工做,例如補齊文檔、添加測試用例等,社區會有標籤爲「help wanted」或「good first issue」的issue,都適用於新手開發者。api

若是有相關開發經驗,能夠參與社區Bug修復、大特性的設計與實現,社區歡迎每一位貢獻者!websocket

 

問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

相關文章
相關標籤/搜索