appsmithorg / appsmith

Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.
https://www.appsmith.com
Apache License 2.0
34.75k stars 3.76k forks source link

[Bug]: Missing tolerations and node selector in helm charts #21796

Open ErlendFax opened 1 year ago

ErlendFax commented 1 year ago

Is there an existing issue for this?

Description

When we set the nodeSelector and tolerations in the values.yaml file, the config is only applied to the Appsmith Statefulset. This should also be applied to all relevant resources that the helm chart creates, for example the MongoDB, and Redis.

Not a helm expert but a solution would be something like adding this:

{{- with .Values.nodeSelector }}
      nodeSelector: {{- toYaml . | nindent 8 }}
    {{- end }}
    {{- with .Values.tolerations }}
      tolerations: {{- toYaml . | nindent 8 }}
    {{- end }}

... to all resources that will be running on a node.

We have unfortunately needed to take down appsmith because of a performance issue (see this), and we thought placing all Appsmith stuff in a different node pool would be a workaround, but this does not work either as described above.

Steps To Reproduce

  1. Create a k8s node pool in GKE/AWS, with a "taint"
  2. Add a nodeSelector that match the node you just made and tolerations to match the "taint", and add them to values.yaml
  3. Run helm install ...

Appsmith Statefulset will be installed on the correct node, while the others instances (like MongoDB and Redis, etc) will be assign to another node (if any).

Public Sample App

No response

Environment

Production

Issue video log

No response

Version

Self-hosted, helm - latest

ErlendFax commented 1 year ago

Great to see this is already in preview! We are really looking forward getting appsmith back online when this is done 😉 Let me know if you need anything!

ssichynskyi commented 2 months ago

The issue is not fully fixed and has to be reopened. @pratapaprasanna @Nikhil-Nandagopal Issue describes missing node selector AND tolerations. The submitted MR fixed only node selector but not tolerations.

pratapaprasanna commented 1 month ago

We shall address it in a different PR and new helm chats release

ssichynskyi commented 1 month ago

Perfect, thanks @pratapaprasanna !