Hi,
I deployed an octopus tentacle image to the Kubernetes cluster (Linux pod) as a deployment and I see its getting registered as a poling tentacle if I want to register as a listening tentacle how to do it ?
Great to hear from you again, I’d be happy to help with configuring Listening Tentacles with Kubernetes!
Hostname is referring to the IP or hostname of the Tentacle container, which since Kubernetes gets it’s IP’s from a range that makes it hard to know before launching the container.
PublicHostNameConfiguration: How the url that the Octopus server will use to communicate with the Tentacle is determined. Can be PublicIp, FQDN, ComputerName or Custom. Defaults to PublicIp.
CustomPublicHostName: If PublicHostNameConfiguration is set to Custom, the host name that the Octopus Server should use to communicate with the Tentacle.
If your tentacle has a public hostname that makes it easy, however it can get tricky deploying multiple replica’s and essentially requires a LoadBalancer to route traffic on a different port to each container while it has a public hostname.
If possible we recommend using Polling Tentacles with Kubernetes as there isn’t any complicated networking involved and scaling just involves changing the number of replicas. We provide an image specifically for Kube workers here:Docker
Its always registering as polling tentacle. here is the screenshot and yaml file for statefulset.
is there any env parameter I have to pass to register as LIstening?
When configuring a listening tentacle within Octopus, it will ask for the Hostname and Port of the tentacle as the connection runs from the Octopus Server to the Tentacle in listening mode.
This means that your tentacle machine will need a public IP/hostname that the Octopus instance can reach.
Typically, it isn’t desirable to have a machine exposed to the internet in this way, so we recommend using polling tentacles in this situation.
If you want to configure a listening tentacle, you would need to remove the ServerApiKey and ServerUrl environment variables from your YAML. The presence of these variables will force it to polling mode.