企业中的应用程序和服务不需要一直运行且用户群有限(例如少数人)。
可以根据计划或更好的用户活动关闭和启动这些应用程序。因此,我们讨论的是按需服务(比如用容器包装)和节点启动和关闭。
现在,首先要提一下我提到经过身份验证的用户活动的原因是因为在此基础上启动和关闭是有意义的(即不基于较低级别的网络流量)。可以想象企业SSO(以OAuth 2为基础)参与其中。
所以,我的问题是,是否有人试图使用Consul或Kubernetes实施我所描述的内容?
在Consul的情况下,每次经过身份验证的用户请求访问给定的“Micro”时,可能会使用键值存储来为“Micro”(即小型用户群)类应用程序提供TTL。类应用程序它的TTL已更新。在TTL窗口期间,我们想要检查节点,容器和服务的健康状况 - 在窗口之外我们没有(因为我们想要保存在op ex上)。
这个问题类似于this autoscaling question,但是这个用例是关于从0个节点扩展然后根据经过身份验证的用户群(最有可能使用SSO)缩小到0的意义上的不同。
答案 0 :(得分:1)
如果是Kubernetes,则Horizontal Pod Autoscaling documentation会列出 后续步骤 下所述的确切用例(即该功能位于待办事项上)并且可以在Kubernetes的v1.1之后实施。引用的特征描述(Unidling proposal)如下:
缩放从0开始的pod数量。所有pod都可以关闭,然后在需要时打开。当没有pod的服务请求到达时,kube-proxy将为autoscaler生成一个事件以创建新的pod。
基本上,有可能做我将来使用Kubernetes所描述的内容,但现在不可能。这本身并不能解决仅根据经过身份验证的用户活动从0开始扩展的要求。
值得注意的是,除了群集无关之外,on-demand container activation based on systemd。这个解决方案当然不会在没有控制过程的情况下缩减到0,但它仍然值得注意。