Add nodeSelector, tolerations, and affinity support to Helm chart #1444
mirthroxmanu
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
The Kusion Helm chart currently does not support Kubernetes pod scheduling configurations like
nodeSelector,tolerations, andaffinity. This limits deployment flexibility in production environments where workload placement needs to be controlled.Use Case
In production Kubernetes clusters, it's common to:
For example, when using Karpenter with labeled node pools:
Currently, there's no way to schedule Kusion server and MySQL pods to these specific nodes through Helm values.
Proposed Solution
Add support for standard Kubernetes scheduling configurations in
values.yaml:Example Usage
Implementation
The templates need minimal changes. For example, in
templates/kusion-server.yml:Similar changes would be needed in
templates/mysql.ymlfor the StatefulSet.Workarounds (Current)
Currently, users must either:
kubectl patch deployment kusion-server -n kusion \ -p '{"spec":{"template":{"spec":{"nodeSelector":{"app":"kusion"}}}}}'helm template+ manual edits before applyingAll of these defeat the purpose of using Helm for lifecycle management.
References
This is a common pattern in popular Helm charts:
Benefits
Additional Context
Would the team be open to a PR adding this functionality? I'm happy to contribute if there's interest.
Beta Was this translation helpful? Give feedback.
All reactions