情况:许多重型 docker conainers 会定期受到攻击一段时间,然后在较长时间内保持未使用状态。
希望:按需启动容器(如 systemd 通过套接字激活启动事物)并在空闲一段时间后停止它们。最终用户没有可见的停机时间。
选项:
- Kubernetes 具有可以扩展副本的资源控制器。我想可以将副本数保持为 0,并在需要时将其设置为 1,但是如何实现呢?用户指南说有一种叫做自动缩放控制代理的东西,但我没有看到任何进一步的信息。是否有一个可插入的、可编程的代理可以用来跟踪请求并根据用户定义的逻辑进行扩展?
- 我在 Docker Swarm 中没有看到任何解决方案,如果我错了,请纠正我。
- 使用以所选语言编写的自定义 http 服务器,该服务器可以访问 docker 守护进程。在路由到正确位置之前,它会检查容器是否存在并确保它正在运行。缺点 - 不是通用解决方案,必须不是容器或有权访问守护程序。
- 如此处所述使用 systemd 。与上面相同的缺点,即不通用,必须自己处理网络任务(例如查找生成容器的 IP 并将其输入服务器/代理的配置)。
任何想法表示赞赏!