dind-nurse

command module
v0.0.0-...-814127d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

README

dind-nurse

Docker in docker nurse is a sidecar for dind containers.
Its task is to keep dind healthy.

Tasks

Memory creep

Issue

As dind is running longer and longer is uses more and more memory. The memory reserved to the container stays the same. As a result, the memory available for the buildsteps deminishes over time.

Solution

Check the memory usage during idle phases and restart dind in case a limit was reached.

Limit paralelizm

Issue

The resources requested from Kubernetes for the dind container are limited. Builds running in parallel need to share these resources. The dind container will OOM terminate on case the dind-daemon together with all parallel build steps use more memory then the limit.

Solution

Add memory limits to the build reqeusts and keep track of the current use. Delay forwarding build requests to dind until enough resources are available.

Garbage collection

Issue

Dind is used to keep local state and cache builds. This state grows over time. The used persistent volume will be full at some point. At that point builds will fail.

Solution

Check the free space and delete old data until enough space is free.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL