我正在尝试设计一种很好的方法来启动一系列充当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
================================================
,sensor1
,sensor2
等以及其他可能有所不同的配置。
我还想根据要测试的用例扩大和缩小虚拟设备的数量。
我想到的方法是通过外壳程序脚本将唯一的属性传递给每个容器,或者让每个容器访问数据库或其他存储,在启动时它们将从池中检索其独特的配置。可用的配置。
这样,同一应用将在每个容器中运行,但其配置将是唯一的。然后,他们将开始将数据发送到某个端点,在此处我将遥测有效载荷作为数据流进行处理。
对于Kubernetes解决方案,容器似乎必须连接到一些通用数据存储以获取其配置,因为不可能将唯一的一组属性传递给每个容器?</ p>
答案 0 :(得分:0)
像Deployment一样,StatefulSet管理基于 相同的容器规格与部署不同,StatefulSet维护 每个Pod的粘性标识。这些吊舱是从 相同的规格,但不可互换:每个规格都有一个持久的 它在所有重新计划中维护的标识符。
ReplicaSet由字段定义,包括一个选择器,该选择器 指定如何识别它可以获取的Pod,多个副本 指示应该维护多少个Pod,以及Pod模板 指定应创建的新Pod的数据以满足数量 复制标准。然后,通过创建ReplicaSet来实现其目的 并根据需要删除Pod以达到所需数量。当一个 ReplicaSet需要创建新的Pod,它使用其Pod模板。
ConfigMap绑定配置文件,命令行参数, 环境变量,端口号和其他配置工件 在运行时访问Pods的容器和系统组件。
请告诉我是否有帮助。