×

集群管理员可以使应用程序空闲以减少资源消耗。这在集群部署在公共云上且成本与资源消耗相关的场景中非常有用。

如果任何可伸缩资源未被使用,Red Hat OpenShift Service on AWS 会发现并使其空闲,方法是将其副本数量缩减到 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 路由器支持。