【问题标题】:Rollback strategy for iotedge device in iothubiot hub中物联网边缘设备的回滚策略
【发布时间】:2021-12-09 15:57:03
【问题描述】:

上下文

当前的 IotEdge 部署缺少一个关键组件,即回滚策略,在文档中搜索时,没有任何内容说明我们如何将设备恢复到以前的版本。

在寻找解决方案的过程中,我考虑了 2 个选项,您会选择哪一个以及您如何处理这种情况?

选项 1

使用 kubernetes 来管理 IotEdge 部署,在我看来这是过度设计的,并且不打算仅用于管理部署,因为 K8s 是一个编排器,其中有许多有用的组件并非本质上是为此类场景设计的(或者我错了吗?)。

优点

  • 快速
  • 集中配置
  • 可以定位多个 iothubs

缺点

  • 过度设计
  • K8s 知识(学习曲线)

选项 2

第二种选择是编写处理部署/回滚的自定义脚本..

优点

  • 轻量级解决方案
  • 免费(无需额外费用)

缺点

  • 维护困难。
  • 构建时间慢
  • 容易出错

【问题讨论】:

  • 您可以删除当前部署,它会自动回滚到之前的部署
  • 如果您不覆盖 IoT 中心中的部署,而是创建一个具有更高优先级的新部署,则回滚就像删除较新的部署一样简单,或者这就是您使用选项 2 的意思?
  • @Helikaon 你如何删除部署?
  • @MatthijsvanderVeer nop 我的意思是使用一个脚本来创建一个新的部署文件,该文件与我们想要回滚并再次部署的版本相同。但是我可以删除部署吗?
  • @Helikaon,如果您想添加您的解决方案作为答案,请继续。

标签: azure azure-iot-hub azure-iot-edge


【解决方案1】:

如果要回滚部署,只需删除当前部署,IoT Edge 就会回滚到之前针对它的部署。说清楚,我说的是deployments at scale

编辑:无需删除部署,只需修改目标条件,即可防止误点击。见rollback deployment official documentation

【讨论】:

  • 完美!!!我测试了它,这正是我所需要的,你是我的英雄:D
  • 我用更好的方法编辑了答案(使用目标条件)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多