Tentacle & Worker Setup

Hi, I am evaluating Octopus Cloud and am confused about the first time setup of my Tentacle.

I have deployed the Linux Tentacle container (octopusdeploy/tentacle) with a public URL, however the container fails to start with the error

There was a problem with your request.
- Worker Pools ‘Default Worker Pool’ do not support adding workers directly
Container called exit(1).

So I am trying to add a Worker, but the worker can not be created without the Tentacle up and running. It is expecting to be able to communicate with it
Received an unexpected EOF or 0 bytes from the transport stream. Received an unexpected EOF or 0 bytes from the transport stream.

Which one do I create first and how?

Hi @ross.garbutt,

Welcome to the Octopus community, thanks for reaching out!

It looks like a Worker is being added to a Dynamic Worker Pool, which are reserved for the Dynamic Workers we provide for Cloud customers.

For External Workers, we recommend creating a new Worker Pool to use, which can still be designated as the Default Worker Pool in it’s configuration. This can be done via the UI and doesn’t require any additional configuration. The process for adding a Worker however will require configuring a Tentacle on the Target Server, then creating a Worker inside Octopus to communicate with that Tentacle.

I’d definitely recommend to check out our documentation which outlines the process for Registering a Windows Listening Tentacle as a Worker, as well as our Tentacle Troubleshooting guide

I’d be happy to take a look at your logs to see exactly what’s going on, let me know how you get on or if you have any questions at all!

Best Regards,

Thanks, however the behaviour is the same with a custom Worker Pool, the tentacle still won’t start.

The problem is that my environment is entirely serverless & Linux container based. So I need to be able to initialise the tentacle linux container in a completed automated way.

Do you support automating the linux container setup? The instructions are all manual steps

Hi @ross.garbutt,

No problem, thanks for clarifying that!

I’d definitely recommend checking out this blog post about creating workers for a Kubernetes Cluster. We also provide a few different Tentacle images to use in this Github repo.

One caveat is that if you are using an HA Octopus Cluster, then you will need to register Workers with each Octopus Node. We provide this image which accepts multiple Octopus URL’s to help with that.

Let me know how you get on or if you have any questions at all!

Best Regards,

Thanks I can see that blog post should result in a Worker being created but I am unable to replicate it.

Once the run book completes it always skips the step of deploying the container with

Step 1: Deploy Kubernetes containers
October 8th 2022 14:03:51
Skipping this step as no matching targets were found

I am still very much learning how this is supposed to work, but it seems that the process definition part: ‘On Behalf Of’ where I select a target may not be correct?. I have tried to create a Target Role but it looks like it applies to a Worker which obviously does not exit yet

I’m not sure whether a HA Octopus Cluster applies to me as I am using Octopus Cloud

Hi @ross.garbutt,

Apologies for the confusion, Octopus HA doesn’t apply to our Octopus Cloud customers just yet so you can disregard that comment.

In order to use the Deploy Kubernetes Containers step, there will need to be a Kubernetes Cluster Deployment Target added to your Octopus Instance to deploy containers onto.

This allows for dynamically scaling the number of workers available and is typically used for large scale workloads. If this is what you are looking into I’d be happy to get our Solutions team involved as they specialise in helping with complex/large setups!

For deploying Containers or Server-less workloads, the Dynamic Workers available to our Octopus Cloud users (which are Tentacle Containers we provision that come with some basic tooling) should be all you need to execute the deployment on a Deployment Target, for example a Cloud Region or ECS Cluster.

The Execution Containers feature allows for specifying custom Docker images to use for the deployment, which allows for installing any required dependencies to use in the deployment!

I’d be happy to help with any questions around deploying to a certain environment or resource, feel free to let me know about your desired outcome or any specific tasks!

Best Regards,

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.