Skip to content

Evaluate the benefits of adopting docker event stream #16831

@yujuhong

Description

@yujuhong

In #12540, docker event stream was proposed as part of the pod lifecycle event generator (PLEG) to reduce number of docker operations.

However, even without adopting the docker event stream, we can still implement a PLEG solely by periodically relisting the containers. The generic PLEG in #13571 is an example.
This would still improve the average resource usage of kubelet and docker because only one goroutine queries docker at a higher frequency (as opposed to all pod workers). The drawback, on the other hand, is that kubelet's reaction time to container events would be equal or greater than the relist period. We should try to understand the limit of pure relisting by running some micro-benchmark using docker, so that we know how much benefits the container event stream can bring us.

Metrics:

  • latency
  • cpu usage percentiles

Parameters to vary:

  • op: list, inspect
  • period
  • number of containers
  • GCE machine size

The next step would be benchmarking the docker event stream.

/cc @kubernetes/goog-node

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.priority/backlogHigher priority than priority/awaiting-more-evidence.sig/nodeCategorizes an issue or PR as relevant to SIG Node.sig/scalabilityCategorizes an issue or PR as relevant to SIG Scalability.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions