Unmanaged Kubernetes clusters

Using a single unmanaged cluster

This is the “default” and simplest behavior.

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

No additional configuration is required. In other words, you only need:

  • To build the base image (see Setting up (Kubernetes))
  • To create a container runtime configuration
  • To setup the image repository in the base image
  • To push the base image
  • To use the container runtime configuration

Using multiple unmanaged clusters

DSS can connect to several existing Kubernetes clusters. If you already have multiple clusters (either managed by a cloud provider, or that you deployed yourself), DSS can leverage all of them, using multiple containerized execution configurations.

DSS leverages the kubectl tool for Kubernetes. The kubectl configuration file can define multiple “contexts”. Each kubectl context defines a cluster (API server URL) and credentials to use.

To use multiple clusters (or multiple sets of credentials to a cluster):

  • Create your clusters, running version 1.10 or later - this is not handled by DSS (to have DSS automatically manage Kubernetes clusters for you, see Managed Kubernetes clusters)
  • Define multiple contexts in your kubectl configuration file. Please refer to the kubectl documentation for this.
  • Define multiple container runtime configurations, each one referencing a kubectl context

Each container runtime configuration can thus reference a different Kubernetes cluster, and you can dispatch between projects this way.