Skip to content

Setup server-side filter of the pods #369

@ahg-g

Description

@ahg-g

What would you like to be added:

Currently the pod controller filters the pods at the epp side, the filter is primarily the pool selector and ready status. At scale this could be expensive. To address this, we should setup the watch to perform server side filter.

In controller-runtime, we can do this using the ByObject cache option: https://github.com/kubernetes-sigs/controller-runtime/blob/6f611112490242f9e8d5b0ccdc0f3bb8c86c85ef/pkg/cache/cache.go#L240

The tricky part is that the filter depends on the pool, which may change during runtime, and so we need to think of a way to update the filter on the pod informer/cache.

Why is this needed:
To improve the scalability of the epp.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions