×

集群管理员可以使应用程序空闲以减少资源消耗。当集群部署在公共云上时,这非常有用,因为成本与资源消耗相关。

如果任何可伸缩资源未被使用,OpenShift Container Platform 会发现并使其空闲,方法是将其副本数缩放到0。下次网络流量定向到这些资源时,将通过扩展副本数来取消这些资源的空闲状态,并继续正常运行。

应用程序由服务以及其他可伸缩资源(如部署配置)组成。使应用程序空闲的操作涉及使所有关联资源空闲。

使应用程序空闲

使应用程序空闲涉及查找与服务关联的可伸缩资源(部署配置、复制控制器等)。使应用程序空闲会查找服务并将其标记为空闲状态,并将资源缩放到零副本。

您可以使用oc idle命令使单个服务空闲,或者使用--resource-names-file选项使多个服务空闲。

使单个服务空闲

步骤
  1. 要使单个服务空闲,请运行

    $ oc idle <service>

使多个服务空闲

如果应用程序跨项目中的服务集合,或者当与脚本来批量空闲同一项目中的多个应用程序一起空闲多个服务时,使多个服务空闲很有帮助。

步骤
  1. 创建一个文件,其中包含服务的列表,每个服务独占一行。

  2. 使用--resource-names-file选项使服务空闲

    $ oc idle --resource-names-file <filename>

idle命令仅限于单个项目。对于跨集群空闲应用程序,请针对每个项目分别运行idle命令。

取消应用程序空闲状态

当应用程序服务接收到网络流量并按其先前状态扩展回来时,它们会再次处于活动状态。这包括到服务的流量和通过路由传递的流量。

也可以通过扩展资源来手动取消应用程序的空闲状态。

步骤
  1. 要扩展 DeploymentConfig,请运行

    $ oc scale --replicas=1 dc <dc_name>

路由器自动取消空闲状态目前仅受默认 HAProxy 路由器支持。