将嵌入式设备作为资源添加到Kubernetes

时间:2019-08-23 19:17:39

标签: kubernetes embedded-resource

当前,这更多是理论问题,而不是实际问题。我试图弄清楚Kubernetes到底有多可扩展。

考虑类似嵌入式设备的事情。该设备的资源有限,其固件难以升级。这就是为什么无法在此设备上运行任何Kubernetes逻辑的原因。目标是使用通过IPv4或IPv6进行通信的设备作为Kubernetes中的资源。

一个很好的例子是k8s服务,该服务可按需处理来自嵌入式设备的数据。但是,如果没有需求,则无需对该数据做任何事情。

apiVersion: v1
kind: Pod
metadata:
  name: temperature
  namespace: temperature-example
spec:
  containers:
     - name: aggregate-temperature
       image: 
       resources:
           limits:
              temperature-sensor/v1: "400"
           requests:
              temperature-sensor/v1: "1"

我知道device plugin,但不确定是否符合我的需求。

  • 它可以扩展到<100k个设备吗?

  • 它可以处理具有不同固件版本的相同类型的设备吗?

  • 这对于许多不同的设备类型(例如温度,辐射,湿度,光,电等传感器)有用吗

  • 是否可以请求特定设备,例如通过使用其序列号?

  • 是否可以通过更多设备类型轻松扩展集群?

如果其中一个问题的回答为“否”,那还有什么选择?

1 个答案:

答案 0 :(得分:0)

我不确定Device plugin registration是否适合您的情况。

请记住:

  

Kubernetes(K8s)是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。   Kubernetes由一组独立的,可组合的控制过程组成,这些过程连续地将当前状态驱动到提供的所需状态。

请参阅What Kubernetes is not

  • 不限制支持的应用程序类型。
  • 不部署源代码,也不构建您的应用程序。
  • 不提供应用程序级服务,例如中间件(例如,消息总线),数据处理框架(例如,Spark),数据库(例如,mysql),
  • 不提供也不要求配置语言/系统(例如jsonnet)
  • 不提供也不采用任何全面的机器配置,维护,管理或自我修复系统。

从另一个角度来看,这取决于您的应用程序/解决方案的工作方式,并且k8s能够使您的解决方案独立于负载,请求,您的coreapp /用户与提供必要信息的底层设备之间的响应而独立地工作。

此外,请查看云提供商的解决方案:

还有其他不同的项目,它扩展了Kubernetes以提供一组中间件组件,例如:

希望此帮助。如果不合适,请开始更深入的协作。

相关问题