Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions