日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

云+X案例展 | 传播类:k3s基于逾百台工控机的应用实践

發(fā)布時(shí)間:2024/8/23 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云+X案例展 | 传播类:k3s基于逾百台工控机的应用实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本案例由Rancher投遞并參與評(píng)選,CSDN云計(jì)算獨(dú)家全網(wǎng)首發(fā);更多關(guān)于【云+X 案例征集】的相關(guān)信息,點(diǎn)擊了解詳情丨挖掘展現(xiàn)更多優(yōu)秀案例,為不同行業(yè)領(lǐng)域帶來(lái)啟迪,進(jìn)而推動(dòng)整個(gè)“云+行業(yè)”的健康發(fā)展。

隨著國(guó)家政策的導(dǎo)向,互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的普及,工業(yè)、能源行業(yè)的智能化改造已經(jīng)進(jìn)行的如火如荼,傳統(tǒng)行業(yè)的特點(diǎn)是信息化、智能化水平嚴(yán)重落后于其他行業(yè),在進(jìn)行信息化、智能化改造的過(guò)程中,首先第一步,就是要獲取底層系統(tǒng)的全方位的數(shù)據(jù)。

為此,需要部署大量的邊緣設(shè)備來(lái)采集數(shù)據(jù)、分析數(shù)據(jù),通過(guò)這些數(shù)據(jù)進(jìn)行建模,大量的邊緣設(shè)備一般離散的分布在不同機(jī)房、廠區(qū)、甚至是不同的地理區(qū)域,這對(duì)運(yùn)維人員來(lái)講是令人恐懼的事情,維護(hù)這些設(shè)備,管理其上運(yùn)行的應(yīng)用變得極其困難。

全應(yīng)科技是國(guó)內(nèi)第一批投身于工業(yè)互聯(lián)網(wǎng)改革浪潮中一員,因此上面提到的問(wèn)題,也是其面臨的問(wèn)題。全應(yīng)科技從一開(kāi)始就采用了微服務(wù)化的開(kāi)發(fā)模式,除了平臺(tái)框架核心應(yīng)用之外,所有應(yīng)用都是可插拔的微服務(wù)。

與業(yè)務(wù)平臺(tái)不同的是,邊緣設(shè)備具有下面的特點(diǎn):

  • 數(shù)量大,動(dòng)輒有數(shù)十臺(tái)、數(shù)百臺(tái)設(shè)備;

  • 單點(diǎn)故障影響小,一個(gè)設(shè)備只負(fù)責(zé)一小塊區(qū)域的數(shù)據(jù)采集、分析與計(jì)算,因此單臺(tái)設(shè)備的故障導(dǎo)致的局部數(shù)據(jù)的缺失,數(shù)據(jù)分析層面也進(jìn)行了數(shù)據(jù)清洗,因此,單點(diǎn)故障對(duì)全局業(yè)務(wù)影響不大。

需求?

對(duì)于運(yùn)維角色來(lái)講:

  • 管理這些邊緣設(shè)備,保持邊緣設(shè)備上運(yùn)行的服務(wù)的高可用性;

  • 快速的上線、升級(jí)

  • 配置的快速更改與應(yīng)用

邏輯拓?fù)鋱D

下面的圖形簡(jiǎn)單描述了項(xiàng)目基礎(chǔ)設(shè)施層的拓?fù)?#xff1a;

其中,每一個(gè)邊緣側(cè)設(shè)備上運(yùn)行的業(yè)務(wù)會(huì)和中樞業(yè)務(wù)系統(tǒng)通訊,邊緣側(cè)所有設(shè)備在單獨(dú)的一個(gè)網(wǎng)絡(luò)平面中。

運(yùn)維方案選型

在決定運(yùn)維方式時(shí),考慮過(guò)下面的幾種方式:

Ansible

我們?cè)谶吘墏?cè)設(shè)備上運(yùn)行的應(yīng)用大部分都是純Java應(yīng)用,再加上一部分Python應(yīng)用,因此部署和啟動(dòng)非常簡(jiǎn)單,外加上supervisord應(yīng)用實(shí)現(xiàn)了應(yīng)用的基本高可用方案。在公司還沒(méi)有進(jìn)行容器化轉(zhuǎn)型之前,我們采用傳統(tǒng)的部署形式部署微服務(wù),就是配置好宿主機(jī)的系統(tǒng)環(huán)境,直接將應(yīng)用部署在宿主機(jī)系統(tǒng)上,在這種情況下,我們只需要解決的問(wèn)題是大批量設(shè)備部署和維護(hù)的問(wèn)題,因?yàn)椴还苁遣渴疬€是更新升級(jí)、配置,所有邊緣側(cè)使用Ansible可以較好的滿足這一條件。

但是這種方法也有缺點(diǎn),需要維護(hù)一套甚至多套ansible playbook,邊緣側(cè)設(shè)備所在的網(wǎng)絡(luò)條件比較差,異常狀況也比較差,經(jīng)常掉電重啟或者斷網(wǎng),使用ansible 容易造成各個(gè)節(jié)點(diǎn)的配置不同步。

kubeedge

kubeedge是由華為基于kubernetes開(kāi)發(fā)并開(kāi)源,專門(mén)用于邊緣容器編排的運(yùn)維方案,其基本架構(gòu)如下:

從上面的架構(gòu)圖中可以看到,kubeedge實(shí)現(xiàn)了一個(gè)邊緣側(cè)完整的框架,對(duì)我們公司來(lái)講,我們自行實(shí)現(xiàn)了例如“DeviceTwin”、“EventBus”、“ServiceBus”以及基于MQTT收發(fā)消息。因此:

  • 一部分組件與kubeedge重疊了;

  • 部署不方便,kubeedge要求在各個(gè)節(jié)點(diǎn)上以kubeadmin部署kubernetes集群(0.6版本,現(xiàn)在已經(jīng)更新至1.1版本,不知道現(xiàn)在是否有更簡(jiǎn)便快捷的形式),對(duì)網(wǎng)絡(luò)環(huán)境不好的邊緣側(cè)設(shè)備有較大難度;

  • kubeedge組件與kubernetes組件基本一致,對(duì)于邊緣設(shè)備寸土寸金的資源來(lái)說(shuō),不太友好。

  • 通過(guò)實(shí)踐,第2點(diǎn)和第3點(diǎn)原因直接打消了我采用kubeedge的念頭。

    K3s

    去除了k8s中的一些實(shí)驗(yàn)特性、非必須的組件,例如云廠商的驅(qū)動(dòng)、存儲(chǔ)插件,k3s在默認(rèn)狀態(tài)下只會(huì)啟動(dòng)除自身進(jìn)程之外的兩個(gè)應(yīng)用:

    coredns:提供集群內(nèi)部的DNS解析服務(wù)。

    • traefik:ingress controller的角色。

    • k3s server默認(rèn)使用本地(已集成)的sqllite作為后端數(shù)據(jù)存儲(chǔ),通訊效率更高一些。

    占用資源少:k3s默認(rèn)使用containerd(server節(jié)點(diǎn),不可更改)作為容器運(yùn)行時(shí),不在需要中間層的docker engine,占用資源更少。

    部署簡(jiǎn)單:對(duì)環(huán)境依賴少,可離線也可在線部署(不過(guò)國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境不推薦在線部署。),離線部署時(shí),只需要下載一個(gè)大約40MB的二進(jìn)制文件和一個(gè)200MB不到的離線鏡像包,啟動(dòng)k3s節(jié)點(diǎn)幾乎是秒級(jí)的。

    上手無(wú)代價(jià):

    • 使用k3s與kubernetes習(xí)慣完全一致,對(duì)于使用kubernetes的人來(lái)講使用k3s沒(méi)有任何代價(jià);

    • 支持部署helm tiller服務(wù)端(盡管tiller端會(huì)在helm 3.x版本中被干掉),直接使用原有charts部署應(yīng)用無(wú)障礙;

    擴(kuò)縮容方便:增刪節(jié)點(diǎn)極其方便,幾乎是分鐘以內(nèi)就可以完成;

    兼容arm架構(gòu)設(shè)備:對(duì)于部分有此種類(lèi)型的設(shè)備的集群友好。

    k3s架構(gòu)圖

    k3s集群的所有數(shù)據(jù)存儲(chǔ)在server(master)節(jié)點(diǎn)本地的SQLite數(shù)據(jù)庫(kù)中,當(dāng)然也支持存儲(chǔ)在諸如MySQL、etcd中,都是支持按照需求在部署節(jié)點(diǎn)時(shí)選擇配置的。server節(jié)點(diǎn)與agent節(jié)點(diǎn)之間采用tunnel隧道通信,增強(qiáng)了安全性,同時(shí)也提升了效率。agent與server節(jié)點(diǎn)即使斷開(kāi)網(wǎng)絡(luò)連接,也不影響相互各自的業(yè)務(wù)。

    因此通過(guò)上面的對(duì)比和實(shí)踐驗(yàn)證,決定采用k3s來(lái)管理邊緣設(shè)備集群。

    完整的運(yùn)維架構(gòu)圖

    使用Rancher管理k3s集群

    在Rancher上添加一個(gè)集群,然后按照步驟將該集群導(dǎo)入到Rancher平臺(tái)中,可以使用Rancher管理和維護(hù)集群:

    挖掘優(yōu)秀案例,啟迪各行各業(yè),推動(dòng)“云+行業(yè)”健康發(fā)展。?CSDN云計(jì)算第二階段云+X 案例征集火熱報(bào)名中

    ?

    總結(jié)

    以上是生活随笔為你收集整理的云+X案例展 | 传播类:k3s基于逾百台工控机的应用实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。