- PVSM.RU - https://www.pvsm.ru -
Контейнеры представляют собой облегченную версию пользовательского пространства операционной системы Linux – фактически, это «голый» минимум. Тем не менее, это все равно полноценная операционная система, и поэтому качество этого самого контейнера так же важно, как полновесной операционной системы. Именно поэтому долгое время мы предлагали образы Red Hat Enterprise Linux (RHEL) [1], чтобы пользователи могли иметь сертифицированные, современные и актуальные контейнеры корпоративного уровня. Запуск образов контейнеров [2] (container images) RHEL на хостах контейнеров (container hosts) RHEL обеспечивает совместимость и переносимость между средами, не говоря уже о том, что это – уже знакомые инструменты. Была, правда, одна проблема. Вы не могли просто передать такой образ кому-то еще, даже если речь шла о заказчике или партнере, использующем Red Hat Enterprise Linux.
Но теперь все изменилось
С выпуском универсального образа Red Hat Universal Base Image (UBI) теперь можно получать привычную надежность, безопасность и высокую производительность официальных образов контейнеров Red Hat независимо от того, есть ли подписка или нет. Это означает, что можно строить контейнизированное приложение на UBI, помещать его в реестр контейнеров по вашему выбору и делиться им со всем миром. Red Hat Universal Base Image позволяет строить, делиться и вести совместную работу над контейнизированным приложением в любом окружении – там, где хотите.
Благодаря UBI существует возможность публиковать и запускать свои приложения практически в любой инфраструктуре. Но если запускать их на платформах Red Hat, таких как Red Hat OpenShift и Red Hat Enterprise Linux, то можно получить дополнительные преимущества (больше золота!). И пока мы не перешли к более подробному описанию UBI, позвольте предоставить короткий FAQ, зачем нужна RHEL Subscription. Итак, что будет при запуске образа UBI на платформе RHEL/OpenShift?
А теперь, когда на маркетинг доволен, поговорим подробней про UBI
Что вы должны чувствовать, чтобы понять, что UBI будет вам полезен:
Если хотя бы на один из сценариев вам подходит, то определенно следует обратить внимание на UBI.
UBI – меньше, чем полноценная ОС, но у UBI есть три важных вещи:
UBI создавался в качестве основы для cloud – native и веб-приложений, разрабатываемых и поставляемых в контейнераx. Весь контент в UBI является подмножеством RHEL. Все пакеты в UBI поступают через каналы RHEL и поддерживаются подобно RHEL при запуске на поддерживаемых Red Hat платформах, таких как OpenShift и RHEL.
Для обеспечения качественной поддержки контейнеров требуется немало усилий инженеров, специалистов по безопасности и другие дополнительные ресурсы. Требуется не только тестирование базовых образов, но также анализ их поведения на любом поддерживаемом хосте.
Чтобы облегчить задачи, связанные с обновлением, Red Hat активно развивает разработку и поддержку, благодаря чему UBI 7 можно запускать, например, на хостах RHEL 8, а UBI 8 – на хостах RHEL 7. Это обеспечивает пользователям необходимую гибкость, уверенность и спокойствие в процессе, например, обновлений платформ в образах контейнеров или используемых хостов. Теперь все это можно разделить на два самостоятельных проекта.
Минимальный – предназначен для приложений со всеми зависимостями (Python, Node.js, .NET, etc.)
Платформа – для любых приложений, запускаемых на RHEL
Multi-Service – упрощает запуск нескольких сервисов в одном контейнере
В дополнение к базовым образам, которые позволяют устанавливать поддержку языков программирования, UBI включают в себя предварительно собранные образы с уже готовыми средами выполнения ряда языков программирования. Многие разработчики могут просто взять образ и приступить к работе над приложением, которое они разрабатывают.
С запуском UBI Red Hat предлагает два набора образов – на базе RHEL 7 и на базе RHEL 8. За их основу были взяты, соответственно, Red Hat Software Collections (RHEL 7) и Application Streams (RHEL 8). Эти среды выполнения поддерживаются в актуальном состоянии и стандартно получают до четырех обновлений в год, таким образом, всегда есть возможность для работы с самыми свежими и стабильными версиями.
Вот перечень образов контейнеров UBI 7:
Вот перечень образов контейнеров для UBI 8:
Использование готовых образов действительно очень удобно. Red Hat поддерживает их актуальность и обновляет их вместе с выпуском новой версии RHEL, а также при появлении критических обновлений CVE в соответствии с политикой обновлений RHEL image policy [4] для того, чтобы можно было взять один из этих образов и сразу же приступить к работе над приложением.
Но иногда при создании приложения вам может внезапно потребоваться какой-то дополнительный пакет. Или, иногда, чтобы заставить приложение работать, нужно обновить тот или иной пакет. Именно поэтому образы UBI поставляются с набором RPM, которые доступны посредством yum, и которые распространяются с помощью быстрой и высокодоступной сети доставки контента (вам пакет!). Когда вы запускаете yum-обновление на своем CI / CD в тот критический момент релиза, вы можете быть уверены – оно будет работать.
Мы не устаем повторять, что RHEL – это основа всего. Знаете, какие команды в Red Hat работают над созданием базовых образов? Например вот эти:
Red Hat Enterprise Linux выступает в роли отличного хоста и образа для контейнеров, но для многих разработчиков важна возможность работы с системой в самых различных форматах, некоторые из которых могут выходить за рамки поддерживаемых сценариев использования Linux системы. И здесь на помощь приходят универсальные образы UBI.
Предположим, конкретно сейчас, на данном этапе, вы просто ищете базовый образ, чтобы начать работу над простым контейнизированным приложением. Или вы уже ближе к будущему и двигаетесь от автономных контейнеров, работающих на container engine, к cloud-native истории с использованием операторов (building and certifying Operators), работающих на OpenShift. В любом случае UBI обеспечит для этого отличную основу.
Контейнеры включают в себя облегченную версию пользовательского пространства операционной системы в новом формате пакетирования. Выпуск образов UBI устанавливает новый отраслевой стандарт для контейнизированной разработки, при этом контейнеры корпоративного класса становятся доступными для любых пользователей, независимых разработчиков ПО, open source сообществ. В частности, разработчики ПО могут стандартизировать свои продукты, используя единую, проверенную основу для всех своих контейнизированных приложений, в том числе Kubernetes Operators [3]. Компаниям-разработчикам, использующим UBI, также доступны сертификация Red Hat Container Certification и Red Hat OpenShift Operator Certification, а это в свою очередь позволяет непрерывно верифицировать программное обеспечение, запускаемое на платформах Red Hat, таких как OpenShift.
Если коротко – очень просто. Podman доступен не только в RHEL, но также в Fedora, CentOS и в ряде других дистрибутивов Linux. Все, что нужно сделать – выгрузить образ из одного из следующих репозиториев, и вперед.
Для UBI 8:
podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init
Для UBI 7:
podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init
Ну и посмотрите полный Universal Base Image Guide
Автор: Red Hat
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/317147
Ссылки в тексте:
[1] образы Red Hat Enterprise Linux (RHEL): https://access.redhat.com/containers/
[2] образов контейнеров: https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/#h.dqlu6589ootw
[3] Kubernetes Operator: https://operatorhub.io/
[4] RHEL image policy: https://access.redhat.com/articles/2208321
[5] Container Health Index grade: https://access.redhat.com/articles/2803031
[6] RHEL 8 How To: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/building_running_and_managing_containers/index?lb_target=stage#using_red_hat_universal_base_images_standard_minimal_and_runtimes
[7] RHEL 7 How To: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html-single/getting_started_with_containers/index#using_red_hat_universal_base_images_standard_minimal_and_runtimes
[8] Источник: https://habr.com/ru/post/451090/?utm_source=habrahabr&utm_medium=rss&utm_campaign=451090
Нажмите здесь для печати.