По странным историческим причинам у нас есть 2,14 ТБ данных в корзине GCS, в которой хранятся образы докеров для реестра контейнеров Google (GCR).
Мы использовали gcloud container images delete <image>
чтобы удалить тысячи неиспользуемых изображений, однако stackdriver сообщает, что не было изменений в общем количестве байтов, хранящихся в базовом ведре GCS.
Это выглядит как gcloud container images delete
удалил из реестра метаданные изображения, но не нижележащие слои.
Есть ли способ собрать мусор из неиспользуемых данных из GCS и снизить ежемесячный счет?
Вот диаграмма общего размера объекта в нашей корзине GCS - похоже, что объекты собираются мусором примерно раз в 24 часа (в нашем случае около полудня по всемирному координированному времени)
Не специфично для GCR - в «обычном» реестре (из докера) при удалении изображений удаляются только метаданные, в основном «разметка». Требуется дополнительная сборка мусора. Вот как это работает в гавани и реестре докеров в gitlab.
Моя интерпретация того, почему это происходит, такова: некоторые из нижних слоев могут быть повторно использованы сразу же, и тот факт, что вы удалили некоторые изображения, которые ссылаются на них, не обязательно означает, что вы больше никогда не захотите их видеть. Таким образом, они остаются до тех пор, пока не будет явно вызван сборщик мусора (или пока не будет назначен сборщик мусора).