情况:大量重型 docker 容器会在一段时间内定期受到攻击,然后在较长时间内保持未使用状态。
希望:按需启动容器(就像 systemd 通过套接字激活启动容器一样)并在空闲一段时间后停止它们。不visible最终用户的停机时间。
Options:
- Kubernetes 具有可以扩展副本的资源控制器。我想可以将副本数量保持为 0,并在需要时将其设置为 1,但如何才能实现这一目标呢?这用户指南 http://kubernetes.io/docs/user-guide/replication-controller/#scaling说有一种东西叫做自动缩放控制代理但我没有看到任何关于此的进一步信息。是否有一种可插入的、可编程的代理可以用来跟踪请求并根据用户定义的逻辑进行扩展?
- 我在 Docker Swarm 中没有看到任何解决方案,如果我错了,请纠正我。
- 使用以所选语言编写的自定义 http 服务器,该服务器可以访问 docker 守护进程。在路由到正确的位置之前,它会检查容器是否存在并确保其正在运行。缺点 - 不是通用解决方案,必须not是一个容器或者可以访问守护进程。
- 按照描述使用 systemdhere https://developer.atlassian.com/blog/2015/03/docker-systemd-socket-activation/。与上面相同的缺点,即不通用,并且必须自己处理网络任务(例如查找生成的容器的 IP 并将其输入服务器/代理的配置中)。
任何想法表示赞赏!
您可以使用 Kubernetes 的内置Pod 水平自动缩放 (HPA) http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/从每个容器的 1 个实例扩展到处理负载所需的数量,但没有在接收请求时进行 0 到 1 缩放的内置功能,而且我不知道有任何广泛使用的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)