背景
SuperEdge 將 Kubernetes 強(qiáng)大的容器管理能力擴(kuò)展到邊緣計(jì)算場(chǎng)景中,把云原生能力擴(kuò)展到邊緣側(cè),不僅很好的實(shí)現(xiàn)了云端對(duì)邊緣端資源和業(yè)務(wù)的管理和控制,而且提供了邊緣增強(qiáng)應(yīng)用管理能力,支持多區(qū)域應(yīng)用部署、區(qū)域自治、灰度發(fā)布等一系列能力。SuperEdge 提供的強(qiáng)大的邊緣自治和接入能力,顯著加速用戶業(yè)務(wù)向邊緣計(jì)算的轉(zhuǎn)型,打通云原生與邊緣計(jì)算的邊界,云邊協(xié)同助力工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、車(chē)聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等業(yè)務(wù)更快更好的落地。
新特性及優(yōu)化
SuperEdge 在 2021-05-20 發(fā)布了 v0.3.0 版本,獲取 v0.3.0 版本信息,請(qǐng)掃碼訪問(wèn)【Release v0.3.0】。
本次更新主要聚焦于提升用戶使用體驗(yàn),簡(jiǎn)化用戶安裝部署邊緣集群和節(jié)點(diǎn)的流程,繼續(xù)增強(qiáng)邊緣節(jié)點(diǎn)狀態(tài)感知和自治能力,詳情如下:
Edgeadm 支持一鍵安裝 K8s 邊緣集群和 Join 邊緣節(jié)點(diǎn)
edgeadm 新增支持一鍵安裝 Kubernetes 邊緣集群,支持為邊緣集群添加任意位置的邊緣節(jié)點(diǎn),便于用戶快速體驗(yàn) SuperEdge 的邊緣能力。
edgeadm 工具提供:
支持一鍵安裝 Kubernetes 邊緣集群,參數(shù)與 Kubeadm 保持一致
支持 Join 任何位置的邊緣節(jié)點(diǎn),只需節(jié)點(diǎn)可以單向訪問(wèn) Master
支持在線和離線兩種安裝方式,方便用戶根據(jù)實(shí)際情況靈活選用
支持部署高可用集群
只需三步就可搭建起一個(gè) K8s 邊緣集群:
下載安裝包
arch=amd64 version=v0.3.0 && rm -rf edgeadm-linux-* && wget https://superedge-1253687700.cos.ap-guangzhou.myqcloud.com/$version/$arch/edgeadm-linux-$arch-$version.tgz && tar -xzvf edgeadm-linux-* && cd edgeadm-linux-$arch-$version && ./edgeadm
注意修改"arch=amd64"參數(shù),目前支持[amd64, arm64]
安裝邊緣 Kubernetes master 節(jié)點(diǎn)
./edgeadm init --kubernetes-version=1.18.2 --image-repository superedge.tencentcloudcr.com/superedge --service-cidr=10.96.0.0/12 --pod-network-cidr=192.168.0.0/16 --install-pkg-path ./kube-linux-*.tar.gz --apiserver-cert-extra-sans=<Master節(jié)點(diǎn)外網(wǎng)IP> --apiserver-advertise-address=<Master節(jié)點(diǎn)內(nèi)網(wǎng)IP> --enable-edge=true
Join 邊緣節(jié)點(diǎn)
./edgeadm join <Master節(jié)點(diǎn)外網(wǎng)IP/Master節(jié)點(diǎn)內(nèi)網(wǎng)IP/域名>:Port --token xxxx --discovery-token-ca-cert-hash sha256:xxxxxxxxxx --install-pkg-path <edgeadm kube-*靜態(tài)安裝包地址> --enable-edge=true
節(jié)點(diǎn)智能感知技術(shù)
在原生 Kubernetes 設(shè)計(jì)中,所有節(jié)點(diǎn)可以從 Apiserver 更新 Endpoints數(shù)據(jù),從而避免將流量路由到異常的節(jié)點(diǎn)上,以便提高服務(wù) SLA。而在邊緣計(jì)算的場(chǎng)景下,節(jié)點(diǎn)與 ApiServer 經(jīng)常面臨弱網(wǎng)斷連的情況,處于斷聯(lián)期間的節(jié)點(diǎn)無(wú)法獲取到更新的 Endpoints 數(shù)據(jù),導(dǎo)致服務(wù) SLA 大幅下降現(xiàn)象。
為了解決這個(gè)問(wèn)題,SuperEdge 實(shí)現(xiàn)了節(jié)點(diǎn)智能感知技術(shù),該技術(shù)基于 SuperEdge 首創(chuàng)的邊緣分布式健康探測(cè)技術(shù)(EdgeHealth)和服務(wù)區(qū)域自治技術(shù)(ServiceGroup),讓處于斷聯(lián)狀態(tài)的節(jié)點(diǎn)也可以感知并剔除異常 Endpoints,讓邊緣業(yè)務(wù)更可靠。
舉例,集群中存在 A,B,C 三節(jié)點(diǎn),一個(gè)服務(wù) Svc 的后端實(shí)例均勻地分布在三個(gè)節(jié)點(diǎn)上,A 節(jié)點(diǎn)與云端斷聯(lián)后,B 節(jié)點(diǎn)故障,由于 A 節(jié)點(diǎn)上緩存的仍是斷聯(lián)前的 Service 的 Endpoints 列表,因此對(duì)于 Service 的訪問(wèn)仍舊會(huì)轉(zhuǎn)發(fā)到 B 節(jié)點(diǎn)上,造成訪問(wèn)的失敗;在使用 SuperEdge 的節(jié)點(diǎn)智能感知技術(shù)后,A 節(jié)點(diǎn)可以自行將屬于 B 節(jié)點(diǎn)上的后端摘除,保證了服務(wù)訪問(wèn)的正常。
面對(duì)更為極端的情況,集群中所有節(jié)點(diǎn)同云端斷聯(lián),節(jié)點(diǎn)也依然能保證服務(wù)后端的可用,極大增強(qiáng)了邊緣集群的自治能力。
支持 golang 1.16
支持 golang 1.16 版本,支持最新 golang 語(yǔ)言特性
關(guān)注和試用
了解更多 SuperEdge 項(xiàng)目信息,請(qǐng)關(guān)注 Github SuperEdge 項(xiàng)目:SuperEdge[1]
試用最新版本 SuperEdge 邊緣容器集群,請(qǐng)參考詳細(xì)流程 一鍵安裝邊緣獨(dú)立 Kubernetes 集群[2]
關(guān)注【騰訊云原生】公眾號(hào),后臺(tái)回復(fù)關(guān)鍵詞【edgeadm】可觀看相關(guān)演示視頻【用 edgeadm一鍵安裝邊緣 Kubernetes 集群】。
參考資料
[1]SuperEdge:【 https://github.com/superedge/superedge】
[2]一鍵安裝邊緣獨(dú)立 Kubernetes 集群:【 https://github.com/superedge/superedge/blob/main/docs/installation/install_edge_kubernetes_CN.md】