实施按需docker容器启动

xif*_*urC 18 docker kubernetes docker-swarm

情况:很多沉重的码头工人定期受到一段时间的打击,然后长时间不使用.

希望:按需启动容器(如systemd通过套接字激活启动)并在空闲一段时间后停止它们.最终用户没有明显的停机时间.

选项:

  • Kubernetes拥有可以扩展副本的资源控制器.我想可以将副本的数量保持为0并在需要时将其设置为1,但是如何实现呢?该用户指南说,有一种叫做自动缩放控制剂,但我没有看到这个任何进一步的信息.是否有可插拔的可编程代理可用于跟踪请求并根据用户定义的逻辑进行扩展?
  • 我在Docker Swarm中没有看到任何解决方案,如果我错了,请纠正我.
  • 使用以所选语言编写的自定义http服务器,该服务器可以访问docker守护程序.在路由到正确的位置之前,它将检查容器是否存在并确保它正在运行.缺点 - 不是一般解决方案,不能是容器或访问守护进程.
  • 使用此处描述的systemd .与上面相同的缺点,即不是一般的,并且必须自己处理网络任务(比如找到生成的容器的IP并将其提供给服务器/代理的配置).

任何想法赞赏!

Ale*_*son 5

您可以使用 Kubernetes 的内置水平Pod 自动缩放 (HPA)将每个容器的 1 个实例扩展到处理负载所需的数量,但没有内置功能可以在接收到容器时进行 0 到 1 的缩放。请求,我不知道有任何广泛使用的解决方案。

  • 如果你感兴趣的话,https://github.com/kubernetes/kubernetes/issues/484 有相关讨论。 (5认同)