фон
Как все волнуются, диск частного склада Openshift взорвался, а уровень использования составляет 100%!!!
Используете его oc adm prune
для очистки кластера openshift, осмелитесь?
Будут ли одновременно удалены необходимые зеркальные изображения? Если да, то вы можете выйти только как администратор базы данных.
Давайте обсудим, oc adm prune
как его использовать сегодня.
сначала дай ответ
Как и следовало ожидать, наше окончательное решение по очистке изображения:oc adm prune images
oc login -u admin -p admin
oc adm prune images --keep-younger-than=400m --confirm
注意
Вышеупомянутые oc adm prune images
команды могут выполняться только от имени обычных пользователей, а не от имени пользователя system:admin, поэтому сначала вы должны войти в систему как обычные пользователи, а у пользователя есть разрешение system:image-pruner.
Сократите использование команды image oc adm prune images.
Чтобы образ не занимал слишком много места на диске, его нужно полностью проредить. Во многих случаях, например при повторном создании изображений, остается много ненужных слоев изображения, и эти слои изображения занимают много места.
oc adm prune images [<options>]
описание опций
параметр | иллюстрировать |
---|---|
--все | По умолчанию: true, удаляет не только избыточные зеркала в хранилище частных зеркал, но также удаляет ImageStream, подключенный к внешним зеркалам в ImageStream. Установите --all=false, если вы удаляете зеркала только из частных зеркальных складов. |
--центр сертификации | Чтобы получить доступ к сертификату частного зеркального хранилища, путь в openshift — /etc/origin/master/registry.crt на главном узле. Если команда выполняется на главном узле кластера, этот параметр добавлять не нужно. |
--подтверждать | Подтвердите реализацию, если нет, добавьте, просто проверьте дрель. |
--force-insecure | Принудительно установить небезопасное соединение без проверки сертификата |
--keep-tag-revisions=<N> | По умолчанию: 3, хранить N изображений для каждого тега в каждом потоке изображений. |
--keep-младший-чем=<длительность> | По умолчанию: 60 м, не очищать изображения, время создания которых меньше времени длительности, и не очищать зеркальные изображения, на которые ссылаются объекты, время создания которых меньше времени длительности. |
--prune-over-size-limit | Очистка изображений, которые превышают указанные лимиты диапазона в одном проекте. Этот приоритет нельзя использовать вместе с --keep-tag-revisions и --keep-younger-than. |
--register-url | Приватная зеркальная ссылка, если команда выполняется на главном узле кластера, этот параметр добавлять не нужно. |
Используйте
--keep-tag-revisions
и--keep-younger-than
для очистки зеркала, зеркало, соответствующее следующим ситуациям, не будет очищено.
- Все модули созданы в течение
--keep-younger-than
указанного времени. - Создать
--keep-younger-than
все ImageStreams в течение указанного времени. - Все работающие капсулы
- Все поды в состоянии ожидания
- Все контроллеры репликации
- Все конфигурации сборки
- Все сборки
- Самое последнее
--keep-tag-revisions
изображение в элементах состояния ImageStream.
При использовании
--prune-over-size-limit
изображений, очистка которых превышает указанный лимит, указанные зеркала не будут очищены в следующих случаях:
- Все работающие капсулы
- Все поды в состоянии ожидания
- Все контроллеры репликации
- Все конфигурации сборки
- Все сборки
Примечание. Следующие ситуации фактически не удаляют изображение.
- Удалите изображение вручную, при этом будут удалены только данные в etcd, а не зеркальное изображение на личном складе.
oc delete image <sha256:image-id>
oc adm prune используется для очистки развертываний и сборок
Конечно oc adm prune
, он используется не только для очистки образов, но и для очистки развертываний и сборок.
oc adm prune deployments/builds [<options>]
описание опций
параметр | иллюстрировать |
---|---|
--подтверждать | Подтвердите реализацию, если нет, добавьте, просто проверьте дрель. |
--дети сироты | Очистите все развертывания/сборки, которых нет в файле Deploymentconfig/buildconfig. |
--keep-complete=<N> | По умолчанию: 5, сохранить последние N успешных развертываний/сборок. |
--keep-failed=<N> | По умолчанию: 1, сохранять последнюю версию развертывания/сборки с ошибками N. |
--keep-младший-чем=<длительность> | По умолчанию: 60 м, не очищать развертывание/сборку, время создания которой меньше продолжительности. |
Пример: очистка развертываний/сборок
oc adm prune deployments --orphans --keep-complete=5 --keep-failed=1 --keep-younger-than=60m --confirm
oc adm prune builds --orphans --keep-complete=5 --keep-failed=1 --keep-younger-than=60m --confirm
Регулярная уборка, чтобы никогда не было проблем
$ cat cleanregistry.sh
#!/bin/bash
date
oc login -u admin -p password
oc adm prune builds --orphans --keep-complete=25 --keep-failed=5 --keep-younger-than=60m --confirm
oc adm prune deployments --orphans --keep-complete=25 --keep-failed=10 --keep-younger-than=60m --confirm
oc adm prune images --keep-younger-than=400m --confirm
$ crontab -l
0 0 * * * /usr/bin/cleanregistry.sh >> /var/log/cleanregistry.log 2>&1