【发布时间】: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