前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式边缘容器项目 SuperEdge v0.7.0 版本来袭!

分布式边缘容器项目 SuperEdge v0.7.0 版本来袭!

作者头像
腾讯云原生
发布2022-03-14 11:40:48
4290
发布2022-03-14 11:40:48
举报

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 的使用案例,以下是功能细节:

新的功能点

(1)通过 NodUnit 和 NodeGroup CRD 去管理边缘众多的站点资源
  • 用 NodeUnit 的 CR 代表一个边缘的逻辑站点;
  • 用 NodeGroup 的 CR 代表拥有同一属相的边缘站点,比如所有拥有 GPU 的边缘站点;

NodeGroup 是边缘资源的抽象,ServiceGroup 是边缘应用的抽象,两者根据应用的需要进行不同资源属性的绑定,将边缘应用调度到合理的边缘节点上。

该功能使用文档见:

(2)支持云边断网边缘 Pod 可更新

这个功能是边缘应用高可用的初版,边缘应用不同于 K8s 的原生应用,硬搬 K8s 的原生应用并不适合边缘场景,特别是应对边缘应用的高可用和弹性扩展。

本功能本次只提供在云边断网时,边缘 Pod 可更新,主要是通过 Static Pod 实现。后续还会提供更加优雅的方式,以支持边缘应用的高可用和弹性扩展。

该功能使用文档见:

(3)支持 kube-apiserver 访问边缘侧的 webhook

在边缘应用中存在 webhook,那么 kube-apiserver 是无法直接访问到的。本次在 tunnel 中支持了 ANP,通过 kube-apiserver 的EgressSelector 功能把请求边侧 webhook 的请求通过 Tunnel 转发给边缘,实现了边缘集群中 webhook 的无感知访问。

该功能使用文档见:

(4)edge-health 支持用户自定义 Check 插件

edge-health 是定时 Check 边缘站点内节点健康状况的组件。本次借助kube-scheduler 的 out-of-tree 插件注册思想,实现了 edge-health 的自定义插件功能。用户无须修改 edge-health 的源码,便可注册自己的 Check 逻辑。

(5)支持 Kubernetes v1.20.6 版本

本次支持了 Kubernetes 的 v1.20.6 版本,目前社区提供了 Kubernetes 的 v1.18.2和 Kubernetes 的 v1.20.6 eageadm 的一键部署,其他版本可按用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群,SuperEdge 需要做组件代码的升级,感兴趣的同学也可来社区,为 SuperEdge 做出您的贡献。

用 edgeadm 一键安装边缘 K8s 的安装包可执行如下命令下载,注意机器的体系:

代码语言:javascript
复制
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[1]

演示短视频[2]

(6)支持 Containerd 容器运行时

用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群时,可通过参数 --runtime=containerd/dockerd来选择你需要的容器运行时,默认--runtime=dockerd, dockerd 版本是19.03.8, cotainerd 版本是1.3.4, 其他版本可替换安装包中的组件二进制。

(7)支持在 SuperEdge 边缘 K8s 集群里面同时添加原生 K8s 节点和边缘 K8s 节点

用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群 时,edgedam join 节点时可通过参数 --enable-edge=true来选择 Join 原生的 K8s 节点还是边缘K8s节点。默认--enable-edge=true Join 边缘节点,明确指定--enable-edge=falseJoin 原生的 K8s 节点。Join 原生 K8s 节点要注意 Join 的节点要和 Kubernetes master 二层网络互通,也就是内网互通,否则可当边缘节点处理。

(8)lite-apiserver 支持多网卡出口和使用 Pebble 作为存储

lite-apiserver 是 SuperEdge 的边缘自治组件,本次增强的重要功能如下:

  • lite-apiserver支持多网卡出口:因为生产环境机器上通常会有多网卡,网络质量并不均等,为了保证 lite-apiserver 和云端 kube-apiserver 的质量,可以通过--network-interface参数填入多个网卡,在多个网卡中选择好的网络质量和kube-apiserver保持连接。当然基于多网卡的功能扩展也正在进行。
  • lite-apiserver支持使用Pebble作为缓存存储Pebble[3] 是受 LevelDB/RocksDB 启发的键值存储,专注于 CockroachDB 的性能。

更多功能的详细介绍,可查看SuperEdge changelog 0.7[4].

三个生态合作案例

新晋 Member 和 Reviwer

SuperEdge 0.7 版本社区很多同学做出了杰出的贡献,经评审有两名同学达到 Member 级别,有两名同学达到了 Reviwer 级别,现公布如下:

2名Reviwer:

  • @JaneLiuL[7]
  • @malc0lm[8]

2名Member:

  • @luhaopei[9]
  • @huweihuang[10]

携手社区

想加入我们的交流群,共同探讨 SuperEdge、研究边缘容器技术的同学,请添加腾小云,回复“SuperEdge”,邀请你进群~

【从0到N了解 SuperEdge,30+篇干货合集】

项目链接:

https://github.com/superedge/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/superedge/tree/main/docs

参考资料

[1]

SuperEdge的Quickstart: 【https://github.com/superedge/superedge】

[2]

视频链接: 【https://attlee-1251707795.cos.ap-chengdu.myqcloud.com/superedge/v0.7.0/edegadm-init-k8s.mp4】

[3]

Pebble: 【https://github.com/cockroachdb/pebble】

[4]

SuperEdge changelog 0.7: 【https://github.com/superedge/superedge/blob/0.7.7/CHANGELOG/CHANGELOG-0.7.md】

[5]

在SuperEdge中部署WasmEdge运行时,来部署WebAssembly应用: 【https://github.com/superedge/superedge/blob/main/examples/wasmedge/wasmedge.md】

[6]

在SuperEdge使用gpu和nano-gpu,分别来提高计算能力和资源利用率: 【https://github.com/superedge/superedge/blob/main/examples/gpu/SuperEdge_GPU_CN.md】】

[7]

@JaneLiuL: 【https://github.com/JaneLiuL】

[8]

@malc0lm:【https://github.com/malc0lm】

[9]

@luhaopei: 【https://github.com/luhaopei】

[10]

@huweihuang: 【https://github.com/huweihuang】

互动赢好礼

精读文章,回答问题赢好礼

Q1:云边断链如何更新Pod的镜像,让实例正常服务?

Q2:云边断链有边缘节点宕机,服务实例数如何保持不变?

3月16日下午5点由作者选出回答最佳的5位读者,送腾讯周边盲盒一个。

  往期精选推荐  

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • SuperEdge v0.7.0 版本正式发布
    • 新的功能点
      • (1)通过 NodUnit 和 NodeGroup CRD 去管理边缘众多的站点资源
      • (2)支持云边断网边缘 Pod 可更新
      • (3)支持 kube-apiserver 访问边缘侧的 webhook
      • (4)edge-health 支持用户自定义 Check 插件
      • (5)支持 Kubernetes v1.20.6 版本
      • (6)支持 Containerd 容器运行时
      • (7)支持在 SuperEdge 边缘 K8s 集群里面同时添加原生 K8s 节点和边缘 K8s 节点
      • (8)lite-apiserver 支持多网卡出口和使用 Pebble 作为存储
  • 三个生态合作案例
  • 新晋 Member 和 Reviwer
  • 携手社区
    • 参考资料
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档