Skip to content

[Feature] Support custom scheduling (nodeSelector, tolerations, affinity) in kruise-game and kruise helmHooks #161

@ylhyh

Description

@ylhyh

Is your feature request related to a problem? Please describe.
In Kubernetes clusters with specific node constraints (e.g., specific taints, restricted node pools, or architecture requirements), the current charts present two issues:

  1. kruise-game: The controller manager pods cannot be scheduled to specific nodes because values.yaml does not expose nodeSelector, tolerations, or affinity.
  2. kruise: The Helm Hooks (Jobs used for finalizer) lack configuration for scheduling. This causes the helm uninstall process to hang indefinitely if these Jobs cannot tolerate node taints or find a matching node.

Describe the solution you'd like
I propose updating the values.yaml and templates for both charts:

  • kruise-game: Add nodeSelector, tolerations, and affinity to the controller deployment.
  • kruise: Add support for nodeSelector, tolerations, and affinity specifically for the helmHooks (finalizer jobs).

Describe alternatives you've considered
Manually patching the Deployment and Jobs post-render, which is incompatible with standard Helm/GitOps workflows.

Additional context
I am working on a PR to implement these changes for both charts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions