站起来的Docker容器舰队来模拟IOT设备?

时间:2019-07-13 21:02:51

标签: docker kubernetes docker-swarm

我正在尝试设计一种很好的方法来启动一系列充当IOT设备的Docker容器,每个容器的配置略有不同。

在每个容器中,我都会有一个模拟某些硬件设备的应用程序,例如温度传感器,并且每个传感器都有一个唯一的“身份”。示例===================== Output =================== Simple, local: $1,234.57 International: USD1,234.57 parenthesis for negatives: ($1,234.57) fixed width (6 digits): $ 1,234.57 fill character '*': $**1,234.57 -- note fill characters don't -- count where the thousdands -- separator would go: filling with 9 characters: $******1,234.57 Suppress thousands separators: $*****1234.57 ================================================ sensor1sensor2等以及其他可能有所不同的配置。

我还想根据要测试的用例扩大和缩小虚拟设备的数量。

我想到的方法是通过外壳程序脚本将唯一的属性传递给每个容器,或者让每个容器访问数据库或其他存储,在启动时它们将从池中检索其独特的配置。可用的配置。

这样,同一应用将在每个容器中运行,但其配置将是唯一的。然后,他们将开始将数据发送到某个端点,在此处我将遥测有效载荷作为数据流进行处理。

对于Kubernetes解决方案,容器似乎必须连接到一些通用数据存储以获取其配置,因为不可能将唯一的一组属性传递给每个容器?<​​/ p>

1 个答案:

答案 0 :(得分:0)

  1. 关于身份,大卫已经提到StatefulSet
  

像Deployment一样,StatefulSet管理基于   相同的容器规格与部署不同,StatefulSet维护   每个Pod的粘性标识。这些吊舱是从   相同的规格,但不可互换:每个规格都有一个持久的   它在所有重新计划中维护的标识符。

  1. 关于缩放比例。如果我对您的理解正确,则需要一个ReplicaSet
  

ReplicaSet由字段定义,包括一个选择器,该选择器   指定如何识别它可以获取的Pod,多个副本   指示应该维护多少个Pod,以及Pod模板   指定应创建的新Pod的数据以满足数量   复制标准。然后,通过创建ReplicaSet来实现其目的   并根据需要删除Pod以达到所需数量。当一个   ReplicaSet需要创建新的Pod,它使用其Pod模板。

  1. 对于配置/属性部分,ConfigMaps是您所需要的。
  

ConfigMap绑定配置文件,命令行参数,   环境变量,端口号和其他配置工件   在运行时访问Pods的容器和系统组件。

请告诉我是否有帮助。