Skip to content

Typescript utils to read metrics in kubernetes pod to check and control memory and cpu from cgroup v2.

License

Notifications You must be signed in to change notification settings

Thibaut-Mouton/cgroupv2-probes-kubernetes

Repository files navigation

build status

CGROUP V2 METRICS

  • npm module for reading cgroupv2 RAM and CPU metrics.
  • Reads from /sys/fs/cgroup/.
  • Useful for kubernetes probes : readiness, liveness or prestop, all available since v1.25

Installation

npm install @mercure/cgroupv2-metrics

Use case

  • You can use those metrics to have more control over kubernetes pods :

A pod has a heavy load incoming, and you do not want that pod to be reached by kubernetes internal load-balancer. Since kubernetes does not provide load-balancer over resources consumption, you can use a readiness probe, which check metrics every "x" seconds and trigger the probe if RAM and/or CPU are overloaded. This probe will eject the pod from load-balancer by setting the pod "unavailable". Once consumption will decrease to an acceptable level, probe trigger will stop and the pod will be available from load-balancer again.

  • Check examples folder to see how k8s probes can be implemented

Want to work on project ?

With devcontainers, you can easily start up a dev environment on docker with your favorite IDE without download any package required by the project on your OS. Feel free to open PR and submit issues.

Read more on devcontainers

About

Typescript utils to read metrics in kubernetes pod to check and control memory and cpu from cgroup v2.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published