作者
SuperEdge 开发者团队,腾讯云容器中心TKE Edge团队
摘要
SuperEdge是基于原生Kubernetes的分布式边缘云容器管理系统,由腾讯云牵头,联合英特尔、VMware威睿、虎牙、寒武纪、美团、首都在线等多家厂商在2020年12月共同发起的边缘计算开源项目,旨在将把Kubernetes强大的容器管理能力无缝的扩展到边缘计算和分布式资源管理的场景中,为边缘IoT,边缘AI,边缘智慧行业等赋能,推动物联网和数字化的落地。目前已成为CNCF Sandbox项目,由CNCF基金会进行托管。
SuperEdge v0.7.0 版本正式发布
SuperEdge 在2022-02-09 发布了 v0.7.0版本,详情扫下方二维码了解。
本次版本主要是生产落地过程中功能的提炼,有边缘站点资源的抽象和应用的抽象,进行资源和应用的灵活搭配;有实例落地过程中用户对边缘应用高可用和断网更新的实际需求;有边缘Webhook无感知访问诉求的解决;有社区强烈呼吁的K8s的1.20版本、Containerd运容器行时,云边节点混部……功能。也有WasmEdge、GPU和NANO-GPU、云边互通Fabedge的使用案例,以下是功能细节:
新的功能点
通过NodUnit和NodeGroup CRD去管理边缘众多的站点资源
- 用NodeUnit的CR代表一个边缘的逻辑站点;
- 用NodeGroup的CR代表拥有同一属相的边缘站点,比如所有拥有GPU的边缘站点;
NodeGroup是边缘资源的抽象,ServiceGroup是边缘应用的抽象,两者根据应用的需要进行不同资源属性的绑定,将边缘应用调度到合理的边缘节点上。
该功能使用文档见:
支持云边断网边缘Pod可更新
这个功能是边缘应用高可用的初版,边缘应用不同于K8s的原生应用,硬搬K8s的原生应用并不适合边缘场景,特别是应对边缘应用的高可用和弹性扩展。
本功能本次只提供在云边断网时,边缘Pod可更新,主要是通过Static Pod实现。后续还会提供更加优雅的方式,以支持边缘应用的高可用和弹性扩展。
该功能使用文档见:
支持kube-apiserver访问边缘侧的webhook
在边缘应用中存在webhook,那么kube-apiserver是无法直接访问到的。本次在tunnel中支持了ANP,通过kube-apiserver的EgressSelector功能把请求边侧webhook的请求通过Tunnel转发给边缘,实现了边缘集群中webhook的无感知访问。
该功能使用文档见:
edge-health支持用户自定义Check 插件
edge-health是定时Check边缘站点内节点健康状况的组件。本次借助kube-scheduler的out-of-tree插件注册思想,实现了edge-health的自定义插件功能。用户无须修改edge-health的源码,便可注册自己的Check逻辑。
支持Kubernetes v1.20.6 版本
本次支持了Kubernetes的v1.20.6 版本,目前社区提供了Kubernetes的v1.18.2和 Kubernetes的v1.20.6 eageadm的一键部署,其他版本可按用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群,SuperEdge 需要做组件代码的升级,感兴趣的同学也可来社区,为SuperEdge 做出您的贡献。
用edgeadm 一键安装边缘K8s的安装包可执行如下命令下载,注意机器的体系:
arch=amd64 version=v0.7.0 kubernetesVersion=1.20.6 && rm -rf edgeadm-linux-* && wget https://attlee-1251707795.cos.ap-chengdu.myqcloud.com/superedge/$version/$arch/edgeadm-linux-$arch-$version-k8s-$kubernetesVersion.tgz && tar -xzvf edgeadm-linux-* && cd edgeadm-linux-$arch-$version-k8s-$kubernetesVersion && ./edgeadm
详细安装请参考用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群,或者SuperEdge的Quickstart。
演示短视频:视频链接)
视频链接: https://attlee-1251707795.cos...
支持 Containerd 容器运行时
在用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群时,可通过参数 --runtime=containerd/dockerd
来选择你需要的容器运行时,默认--runtime=dockerd
, dockerd 版本是19.03.8
, cotainerd版本是1.3.4
, 其他版本可替换安装包中的组件二进制。
支持在SuperEdge 边缘K8s集群里面同时添加原生K8s节点和边缘K8s节点
在用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群 时,edgedam join 节点时可通过参数 --enable-edge=true
来选择Join原生的K8s节点还是边缘K8s节点。默认--enable-edge=true
Join 边缘节点,明确指定--enable-edge=false
Join 原生的K8s节点。 Join原生K8s节点要注意 Join的节点要和Kubernetes master 二层网络互通,也就是内网互通,否则可当边缘节点处理。
lite-apiserver支持多网卡出口和使用 Pebble 作为存储
lite-apiserver 是 SuperEdge 的边缘自治组件,本次增强的重要功能如下:
- lite-apiserver支持多网卡出口:因为生产环境机器上通常会有多网卡,网络质量并不均等,为了保证lite-apiserver和云端kube-apiserver的质量,可以通过
--network-interface
参数填入多个网卡,在多个网卡中选择好的网络质量和kube-apiserver保持连接。当然基于多网卡的功能扩展也正在进行。 - lite-apiserver支持使用Pebble作为缓存存储:Pebble 是受 LevelDB/RocksDB 启发的键值存储,专注于 CockroachDB 的性能。
更多功能的详细介绍,可查看SuperEdge changelog 0.7.
三个生态合作案例
- 在SuperEdge中部署WasmEdge运行时,来部署WebAssembly应用;
- 用博云开源的Fabedge支持云边网络和边边网络的互通;
- 在SuperEdge使用gpu和nano-gpu,分别来提高计算能力和资源利用率;
新晋Member和Reviwer
SuperEdge 0.7 版本社区很多同学做出了杰出的贡献,经评审有两名同学达到Member级别,有两名同学达到了Reviwer 级别,现公布如下:
2名Reviwer:
2名Member:
携手社区
扫描下面的二维码加入我们的交流群,共同探讨SuperEdge、研究边缘容器技术。
【从0到N了解 SuperEdge,30+篇干货合集】
项目链接:https://github.com/superedge/...
Release 链接:https://github.com/superedge/superedge/releases/tag/v0.7.0
变更记录:https://github.com/superedge/superedge/blob/main/CHANGELOG/CHANGELOG-0.7.md
项目文档:https://github.com/superedge/...
关于我们
更多关于云原生的案例和知识,可关注同名【腾讯云原生】公众号~
福利:
①公众号后台回复【手册】,可获得《腾讯云原生路线图手册》&《腾讯云原生最佳实践》~
②公众号后台回复【系列】,可获得《15个系列100+篇超实用云原生原创干货合集》,包含Kubernetes 降本增效、K8s 性能优化实践、最佳实践等系列。
③公众号后台回复【白皮书】,可获得《腾讯云容器安全白皮书》&《降本之源-云原生成本管理白皮书v1.0》
④公众号后台回复【光速入门】,可获得腾讯云专家5万字精华教程,光速入门Prometheus和Grafana。
⑤公众号后台回复【精选集】,可获得腾讯24位腾讯云专家精彩演讲——4万字《腾讯云技术实践精选集 2021》。
【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!