Running Streams In Kubernetes Cluster #1610
-
Hello, I'm trying to use Benthos to solve some data translation issues in a kubernetes cluster I'm building. The goal is to have Benthos running on a pod within the cluster and to have other pods send it api queries containing data in different formats. Benthos would then take that data and convert it into a desired format and return it. Ultimately, I'd like to have Benthos handle dozens of different translations between data formats and be managed through helm, so we can use CI/CD pipelines to control and deploy new data translations automatically. I think streams would be a perfect fit for this problem, however I'm struggling to find examples of what I'm trying to do. The documentation on the api only has options for creating the yaml through the api itself. We want to be able to use ci/cd to manage all the yaml running on Benthos in one place, rather than having each pod connecting to it need to specify what they require and manage their own Benthos yaml. The README found here: https://github.com/benthosdev/benthos-helm-chart states that when running Benthos in streams mode in kubernetes, we need to have all streams yaml contained in a single config file, which seems to contradict the documentation found here: https://www.benthos.dev/docs/guides/streams_mode/using_config_files when I try to adapt the sample config from the benthos-helm-chart repo to add a pipeline:
I get the following error: If someone could point out where I've erred, or else point me to a good example of someone else doing what I'm trying to do, I'd be very grateful. Thank you for all the work you're doing on this platform, it's really exciting stuff! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hey @bn-gmoss! That Helm chart needs some attention, unfortunately...
See here. There are 2 separate streams in 2 separate yaml files. Additionally, you should read this to see how the
Yeah, that should probably be reworded a bit. While you can volume mount as many
That's because the Hope this is enough to get you going for now. |
Beta Was this translation helpful? Give feedback.
Hey @bn-gmoss! That Helm chart needs some attention, unfortunately...
See here. There are 2 separate streams in 2 separate yaml files. Additionally, you should read this to see how the
-r
flag works, so you can reuse components in multiple streams.Yeah, that should probably be reworded a bit. While you can volume mount as many
ConfigMap
s as you want here, this code will only load the yamls found in/streams
, so that limits you to having to use a single ConfigMap that you specify instreams.streamsConfigMap
here in which you can…