Skip to content

Reduce resource utilization during startup and resyncs #1797

@dboslee

Description

@dboslee

Description:

Currently with a large number of CRs the gateway controller's resource utilization is very spiky at startup and at re-syncs when resources are periodically re-reconciled. This requires high resource limits to be configured in order to handle these short infrequent bursts.

Ideally the resource usage would be lower and more consistent during large re-sync events.

This could be accomplished by compacting many reconcile calls into a single run of the main reconciliation loop rather then wasting resources re-building the state of the world for each CR. external-dns does something similar here.

The minimum interval the reconciliation loop runs could be configurable with a sensible default (something like 1-5 seconds). The behavior should allow the controller to react immediately to a single event but then wait the the configured interval before running again.

Here is the behavior observed at startup where cpu and memory usage is high while the controller tries to reconcile ~600 TLSRoutes.
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions