Skip to content

Does controller-runtime support preloading resources when selecting a leader? #2600

Closed

Description

@duanmengkk

The controller-manager stores a significant number of objects, and the overhead of fetching and deserializing these objects from the API server during each upgrade process is unavoidable. Restarting the controller-manager may take several minutes to complete the recovery process. My question is, how can we preload the required resources into memory before the controller-runtime selects the leader? Does controller-runtime support this space-time trade-off strategy?

Activity

  1. duanmengkk commented on Nov 29, 2023

    @duanmengkk
    Author

    /kind support

  2. alvaroaleman commented on Dec 3, 2023

    @alvaroaleman
    Member

    No, this is currently not possible. Someone attempted it, but it didn't get to the point of being mergeable: #2005

  3. duanmengkk commented on Dec 5, 2023

    @duanmengkk
    Author

    No, this is currently not possible. Someone attempted it, but it didn't get to the point of being mergeable: #2005

    OK, do we have any progress or discussions about this plan? Our cluster scale has reached several hundred thousand nodes, so we want our controller-runtime's work replicas to switch within seconds in case of failures.

  4. alvaroaleman commented on Dec 5, 2023

    @alvaroaleman
    Member

    Our cluster scale has reached several hundred thousand node

    Right.

    You won't get second range fail over one way or another because the old lease needs to expire first. But feel free to take a stab at it.

  5. k8s-triage-robot commented on Mar 5, 2024

    @k8s-triage-robot

    The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

    This bot triages un-triaged issues according to the following rules:

    • After 90d of inactivity, lifecycle/stale is applied
    • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
    • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

    You can:

    • Mark this issue as fresh with /remove-lifecycle stale
    • Close this issue with /close
    • Offer to help out with Issue Triage

    Please send feedback to sig-contributor-experience at kubernetes/community.

    /lifecycle stale

  6. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Mar 5, 2024
  7. duanmengkk commented on Mar 6, 2024

    @duanmengkk
    Author

    /close

  8. k8s-ci-robot commented on Mar 6, 2024

    @k8s-ci-robot
    Contributor

    @duanmengkk: Closing this issue.

    Details

    In response to this:

    /close

    Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/supportCategorizes issue or PR as a support question.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions