GCR не хранит дату последнего извлечения на данный момент, но я думаю, что было бы неплохо иметь это, поскольку это немного упростит управление изображениями. Но если изображение не было извлечено в течение некоторого времени, это не означает, что оно не используется.
Сохранить последние версии N
В зависимости от того, как изображения версионированы, вы может запечь удаление в конвейере сборки. Когда ваш основной конвейерный запуск успешно завершается и создается новое задание, запускается очистка самого старого изображения, если у вас есть более n изображений (скажем, более 10 изображений).
Untag / Retag Стратегия для изображения обслуживание
Или вы можете просто поменять тег с v2 на v2-tobe-delete для изображений, которые вы считаете старыми, и сохранить его в течение льготного периода времени. Посмотрите, есть ли какие-либо приложения в производстве каких-либо проблем. Если все выглядит хорошо через несколько дней (или недель, или месяцев), вы запланируете удаление версий. Или восстановите тег, если вы видите какие-либо проблемы.
Проверьте версии изображений, используемые в GKE, перед удалением
В идеале вы хотите запросить свой производственный кластер , предполагая, что вы используете GKE для получения все версии изображений и удалите неиспользуемые версии изображений, которые старше определенной даты:
kubectl get pods --all-namespaces -o jsonpath="{..image}" |\
tr -s '[[:space:]]' '\n' |\
sort |\
uniq -c
ИЛИ
kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}"
Надеюсь, это поможет.