Перейти к основному контенту

Eraser

Eraser - нативный Kubernetes-оператор, который удаляет неиспользуемые изображения контейнеров из кластерных узлов. Он помогает администраторам кластеров уменьшить использование узловых дисков, устранить уязвимые изображения и поддерживать чистый инвентарь изображений во всех узлах в кластере. Eraser можно запускать по расписанию или по требованию, которая может дополнительно сканировать изображения на наличие уязвимостей перед удалением.

Установка компонентов Eraser

Для теста можно использовать оригинальную статью проекта.

$ kubectl apply -f https://altlinux.space/cloud/manifests/raw/branch/master/eraser/sisyphus/1.4.1/eraser.yaml

Будет развернут один pod с eraser-manager и для каждого рабочего узла - pod c eraser-worker, содержащий контейнеры scanner, collector и remover. Контейнер collector отправляет список всех изображений в контейнер scanner, который сканирует и сообщает несоответствующие изображения в контейнер remover.

Настройки манифеста

Из важного на первом этапе использования можно отметить следующие настройки:

manager.runtime.name = crio (по-умолчанию containerd, кластеры Kubernetes на базе ALT используют crio)

manager.runtime.address = unix:///run/crio/crio.sock (по-умолчанию для containerd значение unix:///run/containerd/containerd.sock)

manager.scheduling.repeatInterval = интервал по умолчанию составляет 24 часа. Доступные временные единицы: "ns", "us" (or "µs"), "ms", "s", "m", "h".

components.scanner.enabled = false, если необходимо периодически удалять все изображения без использования сканера. В этом случае каждый eraser-worker-pod будет содержать 2 контейнера: collector и remover.