Добрый день, после перехода с версии 1.2 на 2.10 werf

cleanup начал удалять использующиеся теги, и до и после обновления использовались дефолтные политики keepPolicies
Подскажите, пожалуйста, с чем может быть связано, были ли какието серьезные изменения в работе клинера между этими версиями?

29 ответов

4 просмотра

Были изменения в 2.10 cleanup: change default from unlimited to one image per reference Но они никак не должны влиять на поведение дефолтных политик. Давайте разбирать ваш кейс.

Дмитрий- Автор вопроса
Aleksei Igrychev
Были изменения в 2.10 cleanup: change default fro...

хм, спс, поизучаю еще у себя и вернусь

Дмитрий- Автор вопроса
Aleksei Igrychev
Были изменения в 2.10 cleanup: change default fro...

а что именно значит imagesPerReference? если в werf.yaml у нас собирается 4 имаджа, то сколько будет хранится, всего 1 или по одному для каждого из 4?

Дмитрий
а что именно значит imagesPerReference? если в wer...

Для каждого reference будет искаться указанное количество образов для каждого образа в werf.yaml.

Дмитрий- Автор вопроса
Aleksei Igrychev
Были изменения в 2.10 cleanup: change default fro...

в общем кейс такой: перешли с v1.2.233 на v2.10.5 есть джоба в гитлабе в мастер ветке с билдом, следом за ней идет джоба с клинапом, которая теперь начала удалять большинство stages tags созданные в билде более двух часов назад (временно их сохраняет дефолтный keepImagesBuiltWithinLastNHours). keepPolicies не задано, то есть используются дефолтные. в werf.yaml собирается 4 имаджа, в каждом много слоев (больше 10) Возможно у меня какое-то неверное понимание imagesPerReference, по дефолту оно сохраняет последние 10 имаджей для каждого слоя или вообще для всех слоев? или может для слоев(stages) вообще другая логика?

Дмитрий
в общем кейс такой: перешли с v1.2.233 на v2.10.5 ...

При очистке политики применяются к образам. Для всех оставшихся образов сохраняются связанные слои (в том числе и промежуточные образов (multistage)).

Дмитрий
в общем кейс такой: перешли с v1.2.233 на v2.10.5 ...

Если cleanup запустить с verbose, то там появится чуть больше информации для отладки. Можем вместе глянуть на вывод.

Дмитрий- Автор вопроса
Дмитрий- Автор вопроса
Aleksei Igrychev
Если cleanup запустить с verbose, то там появится ...

запустил через werf cleanup --log-verbose=true, единственное что появилось дополнительное по интересующим тегам это:

Дмитрий- Автор вопроса
Aleksei Igrychev
Если cleanup запустить с verbose, то там появится ...

Запустил через werf cleanup --log-verbose=true, единственное что появилось новое по интересующим тегам это image info in the manifest cache (CACHE MISS)

Дмитрий
Запустил через werf cleanup --log-verbose=true, ед...

- А вы случаем не собираете с --dev? - Очистка по истории Git хоть что-нибудь кипает?

Дмитрий- Автор вопроса
Aleksei Igrychev
- А вы случаем не собираете с --dev? - Очистка по ...

собирается просто через werf build, да, в Saved tags 20 тагов

Дмитрий- Автор вопроса
Aleksei Igrychev
- А вы случаем не собираете с --dev? - Очистка по ...

попробовал полностью удалить все имаджи из реджистри, запустить свежий билд снуля, после чего сразу же клинап, из 12 стейджей удалились 11, не удалился только самый последний в докерфайле слой

Дмитрий
попробовал полностью удалить все имаджи из реджист...

Выглядит стремно. Нужно больше деталей — пока больше никто с подобным не обращался и тесты все проходят.

Дмитрий- Автор вопроса
Aleksei Igrychev
Выглядит стремно. Нужно больше деталей — пока боль...

В общем поэкспериментировал и понял что поведение клинапа зависит от того, какой я базовый имадж указываю в докерфайле, то есть, например, есть образ А и образ Б (оба собраны у нас же и хранятся в нашем же реджестри), с первым клинер говорит что удалит все кроме последнего стейджа, со вторым сохраняет все стейджи, все остальные строки докерфайла и настройки верфа идентичны

Дмитрий- Автор вопроса
Дмитрий
screenshot В общем поэкспериментировал и понял что поведение ...

примеры с общедоступными образами: тут удаляются стейджи FROM ubuntu ENV USER=app WORKDIR /app RUN echo "TEST" а тут нет: FROM composer ENV USER=app WORKDIR /app RUN echo "TEST"

Дмитрий- Автор вопроса
Aleksei Igrychev
А что в werf.yaml?

project: test-ms configVersion: 1 deploy: helmRelease: "[[ project ]]" --- image: app dockerfile: Dockerfile.php args: COMPOSER_NO_DEV: 1 staged: true contextAddFiles: [".netrc"]

Дмитрий
project: test-ms configVersion: 1 deploy: helmRe...

Понял. Надо смотреть buildah, staged сборку. 🫡

Дмитрий- Автор вопроса

спасибо!

Дмитрий
спасибо!

История воспроизведена. Решение пока в процессе.

Дмитрий- Автор вопроса
Aleksei Igrychev
История воспроизведена. Решение пока в процессе.

супер, главное что это не наша локальная история оказалась=)

Дмитрий- Автор вопроса
Aleksei Igrychev
История воспроизведена. Решение пока в процессе.

Добрый день. А есть какойто МР или issue по этому поводу, за которым можно следить?

Дмитрий
Добрый день. А есть какойто МР или issue по этому ...

Issue на днях создам и дам знать. Если в двух словах, то там есть существенные ограничения Buildah, которые требуют от нас серьёзно поменять логику и сделать масштабный рефакторинг. БольшАя часть сделана, но на этой неделе не факт, что получится вернуться и доделать эту задачу.

Дмитрий- Автор вопроса
Дмитрий- Автор вопроса
Aleksei Igrychev
Issue на днях создам и дам знать. Если в двух слов...

Добрый день, а нет какого-то воркэраунда, через флаги например, только через обновление на будущий релиз?

Дмитрий
Понял, спасибо, буду ждать

Пока не успели добраться, но в долгий ящик откладывать не планируем. https://github.com/werf/werf/issues/6373

Похожие вопросы

Обсуждают сегодня

Здрасьти! Делаю Buildah+Docker-multistage. В первом имадже делаю COPY кода. Из них генерю файлы: 31229b03ef2ed26c5e02d0e8320f8a04 ./package.json a0b92a158d0bed9570350af0ed3e...
Vyacheslav
3
Всем привет, подскажите , можно ли управлять порядком выкатки зависимых чартов? Например как заставить сначала развернуть elasticsearch а заним kibana
Juriy K
2
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
всем привет) подскажите, судя по поиску, пару лет назад возникал вопрос насчет преобразования секретов при шифровании к строковому типу. Что-то за это время менялось? Сейчас ...
Denis Yudin
9
В английской версии документации к докер инструкциям я увидел этот пункт: > Tip: you can also export environment variables right to the user stage instructions. В русской ...
Alex
3
Вопрос. Имеем большие репозитории и медленные скорости. Из-за чего очень долго длятся пайплайны. Azure DevOps, PR пайплан, выкачиваем только эфимерный(виртуальный) комит, и з...
Alex Подрябинкин
11
Блин а мне как поумнеть ?
Toxin
191
Карта сайта