-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFE] Agent Deployment Customization Support #41035
Comments
@gaktive I've pushed a docker image annablender/rancher:cattle-agent-structs with updates from this PR that can be used to unblock UI. This is being done in lieu of merging schema changes into |
Thanks @Anna-Blendermann! cc: @mantis-toboggan-md @aalves08 |
Cluster agent backend logic is now available in Rancher v2.7-head! Please wait for webhook updates as it needs the backend updates to persist data on the cluster object. |
@a-blender If I didn't understand wrong, there's a last step to be done yet to persist the data, right? |
@aalves08 Webhook has been updated now, that was the last step for the backend. |
@aalves08 Updated rancher so it pulls the latest webhook, which should fix the data persistence issue. Once https://drone-publish.rancher.io/rancher/rancher/9586 or a later build passes, you can pick it up with Update: build passed, available with |
QA has tested this feature with an internal test plan. All issues for this feature have been filed separately, and the main functionality is working as expected on v2.7-head (1eb478f) |
@slickwarren Amazing thank you! |
Is your feature request related to a problem? Please describe.
Users want a way to configure node affinity, resource limits, and schedule pods on specific nodes for the cluster and fleet agent deployments.
Describe the solution you'd like
Add the following configurable fields in the Rancher backend and UI:
These fields will be defined in a generic struct for the agent called
AgentDeploymentCustomization.
Users will be able to override the defaults for node affinity and resource limits for the cluster or fleet agent in the Rancher UI when creating or updating a cluster. There will already be default tolerations defined for both agents, but users will be able to add additional tolerations via the UI. These fields will then get passed to the cluster object and picked up by each agent deployment that will deploy pods onto the downstream cluster.This feature touches RKE1, v2prov (RKE2/K3s) and hosted provider clusters (AKS / EKS / GKE) but is currently prioritized for EKS and RKE2.
Further design docs are available internally.
Additional context
Sub-tasks:
Data structures and new settings for defaults in a separate PR to unblock UI, target merge of 4/12/2023. Includes:
AgentDeploymentCustomization
struct and adding it to both provisioning and management Cluster objectscluster-agent-default-affinity
setting with the default value matching the current affinity used forcluster-agent
deploymentfleet-agent-default-affinity
setting with the default value matching the current affinity used forfleet-agent
deploymentAdd backend logic to use values passed in
ClusterAgentDeploymentCustomization
andFleetAgentDeploymentCustomization
in a separate PR, target merge of 4/26/2023. Includes:cluster-agent
deployment to use values passedClusterAgentDeploymentCustomization
andFleetAgentDeploymentCustomization
fields between management and provisioning cluster objects (also includes usingcluster-agent-default-affinity
setting for affinity)FleetAgentDeploymentCustomization
field from provisioning cluster object to Fleet cluster object (also includes usingfleet-agent-default-affinity
setting for affinity)Add validation tests (and possibly unit tests?)
SURE-4552
The text was updated successfully, but these errors were encountered: