concourse / concourse-chart

Helm chart to install Concourse
Apache License 2.0
143 stars 176 forks source link

What's the correct way to deploy Concourse as a `Deployment` instead of StatefulSet #255

Open christopher-wong opened 3 years ago

christopher-wong commented 3 years ago

I tried configuring Concourse to use a deployment

worker:
  replicas: 24
  kind: StatefulSet

but saw a number of errors on the workers as well as in the UI find or create container on worker concourse-worker-786c4bdc76-ggxzt: failed to create volume

What's the correct way to deploy Concourse as a Deployment instead of StatefulSet

taylorsilva commented 3 years ago

I think you probably have a few things wrong in your deployment. I'll give you a few pointers here that hopefully help.

First, I'm not sure if this was some typo or bad copy-paste on your end, but from your codeblock, the kind should be set to Deployment, not StatefulSet. That's definitely step one to using a deployment instead of a stateful set.

For the failed to create volume error, that sounds like a configuration issue with your worker. You should check the worker logs for any errors coming from the baggageclaim component.

yatzek commented 3 years ago

You need to configure an additional volume to get it to work as "Deployment", add to your values.yml file something like this:

worker:
  additionalVolumeMounts:
    - name: concourse-work-dir
      mountPath: /concourse-work-dir
  additionalVolumes:
    - name: concourse-work-dir
       emptyDir:
         sizeLimit: 200Gi

I guess the chart could be "smarter" and do this automatically when you switch to kind "Deployment"

sethatron commented 1 year ago

Thank you very much @yatzek . I was completely stumped on this for a bit as I assumed the Chart would handle any additional volume configuration as a result of using Deployment workers. The docs here are definitely lacking on what using a Deployment worker looks like.

I'll look into creating an issue overviewing our setup configuration to have all of this info in one place for future Googlers.