Cluster Configuration

The Kubernetes worker has been proven to be effective on a variety of installations. But some configurations are more complex than others!

Three factors affect the likelihood of success:

  1. Kubernetes distribution/Managed Service (eg, AKS, EKS, GKE …)
  2. Storage provider type (i.e., the filesystem shared between worker and pods)
  3. The Operating System of the Kubernetes nodes

When determining the best combination of these for your situation, it may be simplest to start small and iterate.

The following table defines known good configurations, though many other configurations are likely to produce a valid system.

Distribution / Managed Servicer Storage Solution: Approach
Minikube NFS No additional configuration required†
MicroK8s NFS No additional configuration required†
Kind NFS No additional configuration required†
AKS NFS No additional configuration required
Azure Files No additional configuration required
GKE NFS No additional configuration required
EKS NFS No additional configuration required
EFS Requires Octopus Server 2024.3+
RKE2 Longhorn Requires pre-configured storage‡
OpenShift NFS Requires specific configuration‡

† Recommended for local development or edge usage
‡ Please contact support for additional information

Any Storage class that supports being mounted in ReadWriteMany mode is likely to satisfy the Kubernetes worker’s storage requirements.

The Kubernetes worker is compatible with most Ubuntu-based and Amazon Linux nodes.

The NFS Storage solution cannot be used with BottleRocket nodes as a current issue with SELinux enforcement prevents execution from the NFS share.

The Kubernetes worker is not compatible with Windows nodes and is currently unable to create script pods based on Windows images.