Kubernetes Cluster Worker Pools
I am on a cloud account using shared worker pools. This is great, but using shared pools means Octopus Infrastructure is running my deployments and I need to wait for a worker to free up.
Also shared workers do not have a fixed IP so I cannot limit the IP addresses that can communicate with my Kubernetes Master, an attack vector I would like to close.
It would be great if when setting up a Kubernetes cluster, my Octopus cloud account asks if it can run workers inside my cluster.
An issue with this is that the worker will run on a node who's IP is generally ephemeral, so this will only really work if the cluster has a network configured with a static IP.
With the Tentacle container image available from index.docker.io/octopusdeploy/tentacle it is possible to run workers inside a Kubernetes cluster. The workers can be polling tentacles, and so do not need static IPs.
The free ebook “The ten pillars of pragmatic Kubernetes deployments” available at https://github.com/OctopusDeploy/TenPillarsK8s/releases/latest/download/tenpillarsk8s.pdf describes how to create workers in a Kubernetes cluster in Chapter 3 “Verifiable deployments”.