KubeEdge 1.18.0 版本发布!可靠性和安全性带来提升

举报
云容器大未来 发表于 2024/08/13 17:08:06 2024/08/13
【摘要】 KubeEdge发布1.18.0版本。新版本在稳定性、安全性等方面有了显著的提升,同时持续在易用性等方面做了增强

KubeEdge 1.18.0 版本现已正式发布。新版本在稳定性、安全性等方面有了显著的提升,同时持续在易用性等方面做了增强。

kubeedge.png

KubeEdge v1.18.0 新增特性:

  • RouterManager 支持高可用

  • CloudCore 云边通道鉴权增强

  • 支持设备状态上报

  • keadm 能力增强

  • 封装 Token,CA 和证书操作,提高扩展性

  • 升级 K8s 依赖到 v1.29

  新特性概览  

RouterManager支持高可用

针对 CloudCore 采用高可用部署时,RouterManager 无法准确路由的问题,在新版本中,对 RouterManager 在高可用部署时做了优化与增强,云端发往边缘的自定义消息将会被路由到对应 EdgeNode 所连接的 CloudCore中,并正确下发到对应的 EdgeNode。同时考虑了边界情况,在转发过程中,如果 EdgeNode重连到其他 CloudCore 时,消息将会被重新转发到正确的 CloudCore 中。

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5635

https://github.com/kubeedge/kubeedge/pull/5619

CloudCore云边通道鉴权增强 

CloudCore 作为连接边缘节点和 Kube-APIServer 的桥梁,需要限制边缘节点对集群资源的访问权限。在新版本中,我们对云边通道的安全性进行了增强,CloudHub 会识别消息发送方并校验其是否有足够的权限,从而限制边缘节点操作其他节点的资源。

v1.18.0 目前已支持 node authorization 模式。该特性引入了如下配置参数,在新版本中默认关闭,开启如下开关即可启用该特性。

apiVersion: v1
data:
  cloudcore.yaml:
  ...
  modules:
    cloudhub:
      authorization:
        // optional, default false, toggle authoration
        enable: true
        // optional, default to false, do authorization but always allow all the requests
        debug: false
        // required, an authorizer chain 
        authorizers:
          // node authorization mode
          - node:
          ebable:true
  ...  

为了安全启用此特性,可以先开启 debug。当鉴权失败时,CloudCore 只记录日志,但请求仍会正常处理。

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5512

https://github.com/kubeedge/kubeedge/pull/5585

支持设备状态上报 

设备有其自身的状态,比如在线、离线、异常等。1.18.0版本支持了设备状态上报的能力。该特性在 Mapper-Framework 已经默认实现,用户基于 Mapper-Framework 生成自己需要的 mapper,即可使用。状态上报成功后,可通过 device 的资源查看结果:

apiVersion: devices.kubeedge.io/v1beta1
kind: Device
...
spec:
  status:
    lastOnlineTime: "2024-07-30T17:55:49Z"
    state: ok
    twins:
    - observedDesired:
    ....

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5650

https://github.com/kubeedge/kubeedge/pull/5649

https://github.com/kubeedge/kubeedge/pull/5651

Keadm能力增强 

在旧版本中,使用 keadm join 安装 EdgeCore 只能指定部分参数的配置。在最新版本中,我们对 EdgeCore 的配置流程进行了显著优化。现在,您无需等待节点接入完成,手动编辑 edgecore.yaml 配置文件,再重启 EdgeCore。通过在 keadm join 命令中使用新增的 --set 参数,您可以在节点加入时直接设置配置,就像使用 Helm 配置 values.yaml 一样便捷。这一改进大大简化了配置管理过程,提高了效率。下列指令是一个开启 MetaServer 的样例:

keadm join --set modules.metaManager.enable=true,modules.metaManager.metaServer.enable=true,modules.metaManager.remoteQueryTimeout=32

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5574

https://github.com/kubeedge/kubeedge/pull/5564 

封装Token,CA和证书操作,提高扩展性

在本版本中,我们对 Token 和 Certificate 的处理进行了彻底的整理和优化。原先分散在代码各处的处理逻辑现在已被集中管理,显著降低了维护成本。Token 处理已被集成到一个统一的工具包中,而 Certificate 的处理则通过接口抽象化,不仅支持自建 CA 流程,还适配了通过 Kubernetes CSR 申请 Certificate 的流程。此外,我们的设计允许未来轻松扩展以支持更多类型的私钥和客户自定义的 Certificate。此次重构不仅提升了 Token 和 Certificate 业务代码的可读性和可维护性,而且保持了对外接口的完全向下兼容性,确保了现有系统的无缝升级。

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5502

https://github.com/kubeedge/kubeedge/pull/5544

升级K8s依赖到v1.29

新版本将依赖的 Kubernetes 版本升级到 v1.29.6,您可以在云和边缘使用新版本的特性。

更多信息可参考:

https://github.com/kubeedge/kubeedge/pull/5656

致谢

感谢 KubeEdge 社区技术指导委员会(TSC)、各 SIG 成员对 v1.18.0 版本开发的支持与贡献,未来 KubeEdge 将持续在新场景探索与支持、稳定性、安全性、可扩展性等方面持续发展与演进!

相关链接

Release Notes:https://github.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.18.md


看.png

扫码回复“Mentorship”

进入技术交流群

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。