Shutdown Hours

In Ocean, you can build a weekly schedule defining the hours in which your cluster will be up and running. You are charged only for the running hours. In the hours you don’t specify, the cluster is down, i.e., the underlying instances of the cluster’s nodes are scaled down to zero. You are not charged during this time. The Shutdown Hours feature is recommended for non-production environments (e.g., development, testing, staging) where you are sure you do not require 24 x 7 availability.

Ocean shutdown hours k8s scaling behavior

When a scheduled period of running time ends, Ocean automatically scales down the entire cluster to 0. During the off time, all nodes are down, the Ocean Controller is down, and it does not report any information to the autoscaler.

At the end of the off time, Ocean starts a single node from a VNG that has no taints. (If all of the VNGs have taints, Ocean would start a node from the default VNG, unless useAsTemplateOnly is defined, in which case no node would be started. It would be up to the user to ensure the controller is running, possibly on a node that is not managed by Ocean.)

Once the node is launched and registered to the Kubernetes cluster, the Ocean Controller is scheduled on that node. (Ocean always schedules the controller first in order to report the cluster state to the autoscaler.)

The controller immediately reports the unscheduled pods in the cluster to Ocean’s autoscaler, and the autoscaler launches the appropriate types and number of nodes to provide the resources required by the current unscheduled pods.

At the end of this process, all pods are satisfied, and the cluster is fully functioning in the running hours scheduled

Use Cases

  • Save $ on Dev/Test workloads by shutting them down during non-business hours
  • Batching processing workloads that may only need to run at certain times during the day or week