Toleration Changes in Airbyte Helm Deployment

Summary

Upgraded Airbyte Helm release from 0.199.0 to 0.376.0, noticing tolerations set globally via ENV VARs are not passed to replication pods. Questioning if there were recent changes in how tolerations are passed to pods or how to add tolerations to pods created by the application using Helm charts.


Question

Hi Airbyte community!

I have an Airbyte deployment in k8s using Helm.

Recently, I’ve upgraded the Helm release from 0.199.0 (Airbyte@0.63.1) to 0.376.0 (Airbyte@0.63.12).

I noticed now that the tolerations I set globally via ENV VARs in the helm release:

  JOB_KUBE_TOLERATIONS: "effect=NoSchedule,key=dedicated,operator=Equal,value=airbyte") ```
are no longer passed to the replication pods created by the Java app.

Did we recently change how tolerations are passed to pods (I was trying to find changes but couldn't find), or is there anyway I can add the toleration to the pods created by the application using Helm charts?

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1722880120355709) if you want 
to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["airbyte", "helm", "kubernetes", "tolerations", "env-vars", "replication-pods", "java-app", "helm-charts"]
</sub>

I haven’t updated to the latest chart, but here’s how I’m setting that. It definitely looks more recent than what you have, so maybe give it a shot? (other parts of helm values omitted)

  jobs:
    kube:
      tolerations:
        - key: exclusiveNode
          operator: Equal
          value: airbyte
          effect: NoSchedule```

the chart has tolerations keys for most of the individual components too, i.e.

  replicaCount: ${webapp_replicas}
  tolerations:
    - key: exclusiveNode
      operator: Equal
      value: airbyte
      effect: NoSchedule```

Hey Adam, thanks for the quick answer!

I just tried this approach, and sadly, it is not adding the tolerations.

In your use case, does this add the toleration to the job pods (like replication, check-source, and so on?)

And also what Helm Chart are you using?

we’re about 3 months out of date:

  airbyte_version               = "0.57.3"```
this adds the tolerations to the source, destination, and orchestrator pods for jobs, yes

Ah okay! So my previous helm version was working fine… so perhaps this is a problem of this specific version, and I suspect it is related to the airbyte version and not the helm chart, as the helm looks good.

BTW, also the individual components toleration are set with the new Helm Chart… just the job pods that are controlled by the Airbyte application that are not.

sounds like the next upgrade will be fun :slightly_smiling_face: