Idling Applications

Overview

As an OpenShift Container Platform administrator, you can idle applications to reduce
resource consumption. This is useful when deployed on a public cloud where cost
is related to resource consumption.

If any scalable resources are not in use, OpenShift Container Platform discovers, then idles
them, by scaling them to 0 replicas. When network traffic is directed to the
resources, they are unidled by scaling up the replicas, then operation
continues.

Applications are made of services, as well as other scalable resources, such as
deployment configurations. The action of idling an application involves idling
all associated resources.

Idling Applications

Idling an application involves finding the scalable resources (deployment
configurations, replication controllers, and others) associated with a service.
Idling an application finds the service and marks it as idled, scaling down the
resources to zero replicas.

Idling Single Services

Idling Multiple Services

Idle multiple services by creating a list of the desired services, then using the --resource-names-file option with the oc idle command.

This is helpful if an application spans across a set of services within a project,
or when idling multiple services in conjunction with a script in order to idle
multiple applications in bulk within the same project.

Create a text file containing a list of the services, each on their own line.

Idle the services using the --resource-names-file option:

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

The idle command is limited to a single project. For idling applications across
a cluster, run the idle command for each project individually.

Unidling Applications

Application services become active again when they receive network traffic and
will be scaled back up their previous state. This includes both traffic to the
services and traffic passing through routes.

Applications may be manually unidled by scaling up the resources. For example,
to scale up a deploymentconfig, run the command:

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

Automatic unidling by a router is currently only supported by the default HAProxy router.