Setting up (Docker)

Prerequisites (Docker)

Warning

DSS is not responsible for setting up your Docker daemon.

To run workloads in Docker:

  • You must have an existing Docker daemon. The docker command on the DSS machine must be fully functional and usable by the user running DSS. That includes the permission to build images, and thus access to a Docker socket.

For Docker execution, you may or may not need to push images to an image registry. Pushing images to an image registry is required if you plan to run workloads on multiple Docker daemons, or if you plan to build images on a Docker daemon and to run workloads on another Docker daemon.

If you plan to push images to an image registry:

  • The local docker command must have permission to push images to your image registry.
  • All other docker daemons need to have permission to pull images from your image registry.

Prerequisites (Kubernetes)

Warning

DSS is not responsible for starting and managing your Kubernetes cluster, which must already exist.

To run workloads in Kubernetes:

  • The local docker command must be usable by the user running DSS. That includes the permission to build images, and thus access to a Docker socket.
  • You must have an image registry, accessible by your Kubernetes cluster.
  • The local docker command must have permission to push images to your image registry.
  • The kubectl command must be installed on the DSS machine and be usable by the user running DSS.
  • You must have an existing Kubernetes cluster, running version 1.10 or later. The kubectl command on the DSS machine node must be fully functional and usable by the user running DSS.

Other prerequisites

  • Your DSS machine must have direct outgoing Internet access in order to install packages.
  • Your containers must have direct outgoing Internet access in order to install packages.
  • The containers running locally or on the cluster must be able to open TCP connections on the DSS host on any port.

Build the base image

Before you can deploy to Docker or Kubernetes, at least one “base image” must be constructed.

Warning

After each upgrade of DSS, you must rebuild all base images.

From the DSS data directory, run

./bin/dssadmin build-container-exec-base-image

Run things in Docker or Kubernetes

You then need to create containerized execution configurations. In Administration > Settings > Containerized execution, click Add another config to create a new configuration. You can choose between Docker or Kubernetes and specify an image repository if needed (in which case you would need to push the base image using the eponymous button).

Containerized execution configuration can be chosen:

  • In the project settings. In that case, the configuration will apply by default to all project activities that can run on containers.
  • In the advanced settings of a recipe.
  • In the Execution environment tab of in-memory machine learning design screen.