Running more than one workspace at a time

This procedure describes how to run more than one workspace simultaneously. This makes it possible for multiple workspace contexts per user to run in parallel.

Prerequisites
  • The `kubectl` or `oc` tool is available.

  • An instance of Che running in Kubernetes or OpenShift.

    The following commands use the default Kubernetes namespace or OpenShift project, eclipse-che, as a user’s example for the -n option.

Procedure
  1. Set the per-workspace or unique PVC strategy if the underlying storage backend does not support or not configured to use the ReadWriteMany access mode. See Configuring storage strategies.

    The default common PVC strategy, which uses a single PVC per user, supports running multiple workspaces simultaneously only if the persistent volumes on the cluster are configured to use the ReadWriteMany access mode. That way, any of the user’s concurrent workspaces can read from and write to the common PVC. In some cases, configuring ReadWriteMany is not possible due to the storage limitations, for example, EBS only supports ReadWriteOnce access mode.
  2. Change the default limit of 1 to -1 to allow an unlimited number of concurrent workspaces, or to the precise value, for example, 10 to allow running 10 concurrent workspaces per user simultaneously:

    • For Helm Chart deployments:

      $ helm upgrade che -n eclipse-che --set che.limits.userWorkspacesRunCount=-1
    • For Operator deployments:

      $ kubectl patch checluster/eclipse-che -n eclipse-che --type merge \
        -p '{ "spec": { "server": {"customCheProperties": {"CHE_LIMITS_USER_WORKSPACES_RUN_COUNT": "-1"} } }}'