Cluster Configuration

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

There’s three factors which affect the likelihood of success:

  1. Kubernetes distribution/Manged 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 trying to determine 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 there are many other configurations which are likely to produce a valid system.

Distribution / Managed ServicerStorage Solution:Approach
MinikubeNFSNo additional configuration required - recommended for local or edge usage
MicroK8sNFSNo additional configuration required - recommended for local or edge usage
KindNFSNo additional configuration required - recommended for local or edge usage
AKSNFSNo additional configuration required
Azure FilesNo additional configuration required
GKENFSNo additional configuration required
EKSNFSNo additional configuration required
EFSRequires Octopus Server 2024.3+
RKE2LonghornRequires pre-configured storage - email support@octopus.com
OpenShiftNFSRequires specific configuration - email support@octopus.com

Any Storage class which 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 nodes and also those running Amazon Linux.

The NFS Storage solution cannot be used with BottleRocket nodes as selinux enforcement prevents NFS container execution.

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

Local development and Proof Of Concept

There are a variety of Kubernetes distributions which can be used locally to support exploratory testing. The following distributions were used extensively during the Kubernetes worker development:

These have all been proven to work well with the default NFS storage solution and require no advanced setup.

Such a setup is unsuitable for production deployments, but will get a Kubernetes worker running quickly so you can see how it works, and determine how you may make the most of it.

Production Systems

The Kubernetes worker installs and works with the cloud-based Kubernetes services offered by Azure (AKS), Aws (EKS) and Google (GKE). The NFS storage solution works well in these environments, though other storage solutions become available eg Azure Files which may offers greater durability by moving storage out of the cluster.

Help us continuously improve

Please let us know if you have any feedback about this page.

Send feedback

Page updated on Thursday, August 22, 2024