Setting up (Kubernetes)

Prerequisites

Docker and kubectl setup

Warning

DSS is not responsible for setting up your local Docker daemon

The prerequisites for running workloads in Kubernetes are:

  • You need to 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.
  • You need to 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

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

Build the base image

Before you can deploy to 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

Running things in Kubernetes

You then need to create containerized execution configurations. In Administration > Settings > Containerized execution, click “Add another config” to create a new configuration.

Select Kubernetes and specify your image repository. You will then need to push the base image using the eponymous button.

Containerized execution configuration can be chosen:

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