Управление содержимым

В контексте РОСА Центр управления содержимое определяется как программное обеспечение, установленное в ОС. Это включает, помимо прочего, базовую ОС, службы промежуточного ПО и приложения конечных пользователей. С помощью Комплекса можно управлять различными типами содержимого на каждом этапе жизненного цикла ПО.

Примечание – Функции управления содержимым Комплексу предоставляет плагин Katello. Настоящее руководство может быть использовано только в том случае, если установлен плагин Katello.

Управление подписками

Комплекс управляет содержимым, позволяет хранить содержимое Red Hat, Deb, Yum и организовывать их различными способами через механизм управления подписками.

Импорт манифеста подписки для предоставления доступа узлам к содержимому Red Hat осуществляется через пункт меню "Содержимое Подписки" нажатием на кнопку Манифест.

В появившемся модальном окне необходимо на вкладке "Манифест" задать имя файла манифеста подписки и нажать кнопку Обновить (рисунок 45).

Рисунок 45 – Импорт манифеста подписки

После процедуры импорта на вкладке "Журнал манифеста" будут отображены данные об импорте.

На вкладке "Конфигурация CDN" через географически распределенную серию статических веб-серверов можно получить доступ к содержимому и исправлениям Red Hat, предназначенным для использования ОС. Доступное подмножество CDN настраивается с помощью содержимого, доступного с помощью указания в поле URL сервера https://cdn.redhat.com.

Red Hat CDN защищена сертификатом проверки подлинности X.509, что гарантирует, что доступ к ней имеют только действительные пользователи.

Для удаления подписки Red Hat из манифеста подписки требуется нажать кнопку Манифест в рабочей области, в появившемся одноименном модальном окне нажать кнопку Удалить и подтвердить удаление.

Примечание – Если удалить манифест с клиентского портала Red Hat или в веб-интерфейсе Комплекса, все права для всех узлов содержимого будут удалены.

Добавление прочих подписок осуществляется с помощью кнопки Добавить подписки в рабочей области окна "Подписки".

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

Типы содержимого

С помощью РОСА Центр управления можно импортировать и управлять многими типами контента.

Например, Комплекс поддерживает следующие типы контента:

  • пакеты RPM – импорт из любого репозитория, например Red Hat, SUSE и пользовательских репозиториев. Сервер Комплекса загружает пакеты RPM и сохраняет их локально. Эти репозитории и их пакеты RPM можно использовать в представлениях содержимого;
  • пакеты Deb – импорт из репозиториев, например, для Debian или Ubuntu. Также можно импортировать отдельные пакеты Deb или синхронизировать пользовательские репозитории и использовать их в представлениях содержимого;
  • деревья Kickstart – импорт для подготовки узла сети. Новые ОС получают доступ к этим деревьям Kickstart по сети для использования в качестве базового содержимого для их установки. Комплекс содержит предопределенные шаблоны Kickstart, но можно создавать и собственные шаблоны.
  • шаблоны подготовки – для подготовки узлов под управлением EL на основе синхронизированного содержимого и Debian, Ubuntu или SUSE Linux Enterprise Server на основе локального установочного носителя. Комплекс содержит предопределенные шаблоны AutoYaST, Kickstart и Preseed, а также возможность создания собственных шаблонов, которые используются для подготовки ОС и настройки установки.
  • ISO- и KVM-образы – загрузка носителей и управление ими для установки и подготовки. Например, Комплекс загружает, хранит и управляет ISO-образами и гостевыми образами для Red Hat Enterprise Linux и других ОС.
  • пользовательский тип файла – любой тип файлов, таких как сертификаты SSL, ISO-образы и файлы OVAL.

Просмотр различных типов содержимого доступен через аккордеон меню панели навигации "Подписки → Типы содержимого" выбором пункта требуемого типа.

Продукты

Содержимое из различных источников и пользовательское содержимое В Комплексе имеют сходство:

  • связь между продуктом и его репозиториями остается прежней, и репозитории по-прежнему требуют синхронизации;
  • для доступа узлов к продуктам требуется подписка, аналогичная подписке на продукты Red Hat. В Комплексе создается подписка для каждого создаваемого продукта.

Содержимое Red Hat уже организовано в продукты. Например, Red Hat Enterprise Linux Server является продуктом в РОСА Центр управления. Репозитории для этого продукта состоят из различных версий, архитектур и надстроек. Для репозиториев Red Hat продукты создаются автоматически после включения репозитория.

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

Для создания нового продукта нужно перейти в меню панели навигации "Содержимое Продукты" и нажать кнопку Create Product (Создать продукт).

В рабочем окне "Создание продукта" необходимо:

  1. ввести имя продукта в поле "Название"
  2. Комплекс автоматически заполняет поле "Метка" на основе того, что введено в поле "Название";
  3. (необязательно) в списке "Ключ GPG" выбрать ключ GPG для продукта;
  4. (необязательно) в списке "SSL CA Cert" выбрать сертификат SSL CA для продукта;
  5. (необязательно) в списке "SSL Client Cert" выбрать сертификат клиента SSL для продукта;
  6. (необязательно) в списке "SSL Client Cert" выбрать ключ клиента SSL для продукта;
  7. (необязательно) в списке "План синхронизации" выбрать существующий план синхронизации или нажать Создать план для нового плана синхронизации в соответствии с требованиями продукта;
  8. в поле "Описание" ввести описание продукта;
  9. нажать кнопку Сохранить (рисунок 46).

Рисунок 46 – Создание продукта

После создания продукта можно в окне просмотра продукта добавить репозитории, перейдя на вкладку "Репозитории", или создать репозиторий для продукта, нажав кнопу Новый репозиторий (рисунок 47).

Рисунок 47 – Добавление репозитория к продукту

Учетные данные содержимого

Прежде чем синхронизировать содержимое из внешнего источника, может потребоваться импортировать SSL-сертификаты или ключи в продукт. Это могут быть клиентские сертификаты и ключи или сертификаты ЦС для вышестоящих репозиториев, которые требуется синхронизировать.

Если необходимы SSL-сертификаты и ключи для скачивания пакетов, можно добавить их в Комплекс.

Для добавления SSL-сертификатов и ключей нужно перейти в раздел "Содержимое → Учетные данные содержимого". В окне "Учетные данные содержимого" нажать кнопку Create Content Credential (Создать учетные данные содержимого).

Далее необходимо задать параметры (рисунок 48):

  1. в поле "Название" ввести имя;
  2. в списке "Тип" выбрать "Сертификат SSL";
  3. в поле "Содержание учетных данных" вставить SSL-сертификат или нажать кнопку Выберите файл, чтобы загрузить SSL-сертификат.
  4. нажать кнопку Сохранить.

Рисунок 48 – Создание учетных данных содержимого

Импорт ключа GPG

В случае если источники используют подписанное содержимое, следует убедиться, что проведена настройка на проверку установки пакетов с помощью соответствующего ключа GPG. Это помогает гарантировать, что могут быть установлены только пакеты из авторизованных источников.

Большинство поставщиков услуг распространения RPM предоставляют свой ключ GPG на своем веб-сайте. Также можно извлечь ключ вручную из RPM, например:

  1. загрузить копию пакета репозитория для конкретной версии на локальный компьютер:
$ wget http://www.example.com/9.5/example-9.5-2.noarch.rpm
  1. распаковать файл RPM без его установки:
$ rpm2cpio example-9.5-2.noarch.rpm | cpio -idmv
  1. ключ GPG расположен относительно извлечения в точке .etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE-95.

В Комплексе по аналогии с п. Учетные данные содержимого нужно перейти в раздел "Содержимое Учетные данные содержимого". В окне "Учетные данные содержимого" нажать кнопку Create Content Credential.

Далее необходимо задать параметры:

  1. в поле "Название" ввести имя;
  2. в списке "Тип" выбрать "Ключ GPG";
  3. в поле "Содержание учетных данных" вставить GPG-ключ или нажмите кнопку Выберите файл, чтобы загрузить GPG-ключ.
  4. нажать кнопку Сохранить.

Если репозиторий содержит содержимое, подписанное несколькими ключами GPG, необходимо ввести все необходимые ключи GPG в поле "Содержимое учетных данных содержимого" с новыми строками между каждым ключом, например:

-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFy/HE4BEADttv2TCPzVrre+aJ9f5QsR6oWZMm7N5Lwxjm5x5zA9BLiPPGFN
4aTUR/g+K1S0aqCU+ZS3Rnxb+6fnBxD+COH9kMqXHi3M5UNzbp5WhCdUpISXjjpU
XIFFWBPuBfyr/FKRknFH15P+9kLZLxCpVZZLsweLWCuw+JKCMmnA
=F6VG
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFw467UBEACmREzDeK/kuScCmfJfHJa0Wgh/2fbJLLt3KSvsgDhORIptf+PP
OTFDlKuLkJx99ZYG5xMnBG47C7ByoMec1j94YeXczuBbynOyyPlvduma/zf8oB9e
Wl5GnzcLGAnUSRamfqGUWcyMMinHHIKIc1X1P4I=
=WPpI
-----END PGP PUBLIC KEY BLOCK-----

Альтернативные источники содержимого

Альтернативные источники содержимого определяют альтернативные пути для загрузки содержимого во время синхронизации. Само содержимое загружается из альтернативного источника, в то время как метаданные загружаются с сервера Комплекса. Альтернативный источник содержимого обычно используется для ускорения синхронизации, если содержимое находится в локальной файловой системе или в ближайшей сети. Альтернативные источники можно настроить для сервера Комплекса и смарт-прокси (Smart Proxy). Альтернативные источники необходимо обновлять после создания или после внесения изменений. Еженедельное задание cron обновляет все альтернативные источники содержимого. Также можно обновлять альтернативные источники содержимого вручную с помощью веб-интерфейса Комплекса. Альтернативные источники содержимого, связанные с сервером Комплекса или смарт-прокси (Smart Proxy), подключенные к нескольким организациям, влияют на все организации.

Существует три типа альтернативных источников содержимого:

  • Пользовательский – загружают из любого вышестоящего репозитория в сети или файловой системе;
  • Упрощенный – позволяют копировать информацию из вышестоящего репозитория с сервера Комплекса для выбранных продуктов; идеально подходят для ситуаций, когда подключение от Smart Proxy к вышестоящему репозиторию происходит быстрее, чем с сервера Комплекса;
  • RHUI – загружают контент с сервера Red Hat Update Infrastructure.

Пользователи, не являющиеся администраторами, должны иметь следующие разрешения для управления альтернативными источниками содержимого:

  • view_smart_proxies;
  • view_content_credentials;
  • view_organizations;
  • view_products.

В дополнение к указанным выше разрешениям следует назначить разрешения, специфичные для альтернативных источников, в зависимости от действий, которые могут выполнять пользователи:

  • view_alternate_content_sources;
  • create_alternate_content_sources;
  • edit_alternate_content_sources;
  • destroy_alternate_content_sources.

Для создания нового альтернативного источника содержимого нужно перейти в меню панели навигации "Содержимое → Альтернативные источники содержимого" и нажать кнопку Добавить источник.

В рабочем окне "Добавление альтернативного источника содержимого" нужно по шагам, следуя кнопкам Next и Back, выбрать тип источника, тип содержимого, ввести имя и описание, выбрать смарт-прокси, ввести базовый путь, выбрать вариант аутентификации, проверить указанные параметры и нажать кнопку Добавить (рисунок 49).

Рисунок 49 – Создание альтернативного источника содержимого

План синхронизации

План синхронизации проверяет и обновляет содержимое в запланированные дату и время. В РОСА Центр управления можно создать план синхронизации и назначить продукты этому плану.

Для создания плана нужно перейти в меню "Содержимое → План синхронизации" и нажать кнопку Создать план.

Далее необходимо задать параметры плана (рисунок 50):

  1. в полях "Название" и "Описание" ввести соответственно имя и краткое описание плана;
  2. в списке "Интервал" выбрать интервал, с которым должен выполняться план;
  3. в списках "Дата начала" и "Время начала" выбрать, когда следует начать выполнение плана;
  4. нажать кнопку Сохранить.

Рисунок 50 – Создание плана синхронизации

Для того чтобы план синхронизации регулярно выполнялся необходимо его запустить, нажав кнопку Действия в настройках плана, и выбрать действие "Запустить". Для удаления плана выбирают действие "Удалить".

Назначение плана синхронизации продукту

План синхронизации проверяет и обновляет содержимое в запланированную дату и время. В РОСА Центр управления можно назначить план синхронизации продуктам для регулярного обновления содержимого.

Для этого нужно перейти в меню "Содержимое → План синхронизации", выбрать план, перейти на вкладку "Продукты" и добавить один или несколько продуктов, которые будут синхронизироваться в соответствии с этим планом (рисунок 51).

Рисунок 51 – Привязка продуктов к плану синхронизации

Примечание – Для работы с планами синхронизации рекомендуется:

  • добавлять планы синхронизации к продуктам и регулярно синхронизировать содержимое таким образом, чтобы снизить нагрузку на комплекс во время синхронизации, например, синхронизировать содержимое чаще, чем реже;
  • автоматизировать создание и обновление планов синхронизации с помощью Ansible Playbook;
  • распределить задачи синхронизации на несколько часов, чтобы снизить нагрузку на задачу, создав несколько планов синхронизации с помощью инструмента Custom Cron;
  • ограничивать параллелизм синхронизации: по умолчанию каждое задание синхронизации репозитория может получать до десяти файлов одновременно, что может быть скорректировано для каждого репозитория; увеличение лимита может повысить производительность, но может привести к перегрузке вышестоящего сервера или отказу от запросов.

Статус синхронизации

Для наблюдения за выполнением планов синхронизации можно воспользоваться пунктом меню "Содержимое → Статус синхронизации", в рабочей области которого в табличном виде перечислены все продукты, по которым проводилась или проводится в текущий момент синхронизация, с указанием времени начала, продолжительности, сведений о статусе и результатов (рисунок 52).

Для просмотра только текущих синхронизаций следует установить флажок в поле "Активные".

Рисунок 52 – Статус синхронизации

Жизненный цикл приложений

Окружения жизненного цикла

Жизненный цикл приложений — это концепция, занимающая центральное место в функциях управления содержимым РОСА Центр управления. Жизненный цикл приложения определяет, как конкретная ОС и ее программное обеспечение выглядят на определенном этапе.

Например, жизненный цикл приложения может быть простым: только стадия разработки и стадия производства.

Более сложный жизненный цикл приложения может состоять из дополнительных этапов, таких как этап тестирования или бета-версия. Это добавляет дополнительные этапы к жизненному циклу приложения:

  • развитие;
  • тестирование;
  • бета-версия;
  • производство.

РОСА Центр управления предоставляет методы для настройки каждого этапа жизненного цикла приложения в соответствии с требуемыми спецификациями.

Каждый этап жизненного цикла приложения в Комплексе называется окружением. В каждом окружении используется определенный набор содержимого. Комплекс определяет эти коллекции содержимого как представление содержимого. Каждое представление содержимого действует как фильтр, в котором можно определить, какие репозитории и пакеты следует включить в определенное окружение. Это позволяет определить определенные наборы содержимого для каждого окружения.

Например, для почтового сервера может потребоваться только простой жизненный цикл приложения, в котором есть сервер производственного уровня для реального использования и тестовый сервер для опробования новейших пакетов почтового сервера. Когда тестовый сервер пройдет начальную фазу, можно настроить сервер производственного уровня для использования новых пакетов.

Другой пример — жизненный цикл разработки программного продукта. Чтобы разработать новое программное обеспечение в окружении разработки, нужно протестировать его в окружении контроля качества, предварительно выпустив его в виде бета-версии, а затем выпустить ПО в качестве приложения производственного уровня.

Для создания окружения жизненного цикла следует перейти в меню "Содержимое → Жизненный цикл → Окружения жизненного цикла" и нажать кнопку Create Environment Path (Создать окружение).

Для нового окружения нужно ввести параметры в поля (рисунок 53):

  • Название – имя окружения;
  • Метка – генерируется автоматически в зависимости от содержания "Названия";
  • Описание – описания окружения.

Нажать кнопку Сохранить.

Рисунок 53 – Создание окружения

Представления

РОСА Центр управления использует представления содержимого, чтобы предоставить узлам доступ к специально подобранному подмножеству содержимого. Для этого необходимо определить, какие репозитории требуется использовать, а затем применить к содержимому определенные фильтры.

Общая схема создания представлений содержимого для фильтрации и создания снимков выглядит следующим образом:

  1. создать представление содержимого;
  2. добавить один или несколько репозиториев, необходимые в представлении содержимого;
  3. (необязательно) создать один или несколько фильтров для уточнения содержимого представления содержимого;
  4. (необязательно) устранить все зависимости пакетов для представления содержимого;
  5. опубликовать представление содержимого;
  6. (необязательно) привязать представление содержимого в другое окружение.
  7. присоединить узел содержимого к представлению содержимого.

Если репозиторий не связан с представлением содержимого, данные не будут переданы, и ОС, зарегистрированные в нем, не смогут получать обновления.

Узел может быть связан только с одним представлением содержимого. Чтобы связать узел с несколькими представлениями содержимого, необходимо создать составное представление содержимого.

Представление содержимого — это специально подобранное подмножество содержимого, к которому могут получить доступ узлы. Создав представление содержимого, можно определить версии программного обеспечения, используемые конкретным окружением или сервером смарт-прокси.

Каждое представление содержимого имеет набор репозиториев в каждом окружении. Сервер Комплекса хранит эти репозитории и управляет ими. Например, можно создать представления содержимого следующими способами:

  • представление содержимого со старыми версиями пакетов для рабочего окружения и другое представление содержимого с более новыми версиями пакетов для окружения разработки;
  • представление содержимого с репозиторием пакетов, необходимым для ОС, и другое представление содержимого с репозиторием пакетов, необходимым для приложения;
  • составное представление содержимого для модульного подхода к управлению представлениями содержимого, т.е. использовать одно представление содержимого для содержимого для управления ОС и другое представление содержимого для содержимого для управления приложением. При создании составного представления содержимого, объединяющего оба представления содержимого, создается новый репозиторий, объединяющий репозитории из каждого представления содержимого. Тем не менее, репозитории для представлений содержимого по-прежнему существуют, и ими можно управлять отдельно.

Представление Организации по умолчанию — это управляемое приложением представление содержимого для всего содержимого, синхронизированного с Комплексом. Возможно зарегистрировать узел в окружении Library в Комплексе, чтобы использовать представление Организации по умолчанию без настройки представлений содержимого и окружений жизненного цикла.

Продвижение представления содержимого в разных окружениях позволяет при преобразовании представления содержимого из одного окружения среды в следующее окружение в жизненном цикле приложения Комплекса обновлять репозиторий и публиковать пакеты.

Для создания представления окружения необходимо перейти в меню панели навигации "Содержимое → Жизненный цикл → Представления" и нажать кнопку Создать представление содержимого.

В появившемся модальном окне для нового представления нужно задать параметры в полях (рисунок 54):

  • Имя – имя окружения;
  • Метка – генерируется автоматически в зависимости от содержания "Названия";
  • Описание – описания окружения;
  • Тип – выбрать представление содержимого или представление составного содержимого;
  • (необязательно) если требуется автоматически разрешать зависимости при каждой публикации этого представления содержимого, нужно установить флажок "Решить зависимости";

Примечание – Решение зависимостей замедляет время публикации и может игнорировать все используемые фильтры представления содержимого. Это также может привести к ошибкам при разрешении зависимостей для исправлений.

Нажать кнопку Создать представление содержимого.

Рисунок 54 – Форма нового представления содержимого

После создания представления можно перейти к заданию публикации версий, репозиториев и фильтров.

В списке представлений в меню панели навигации "Жизненный цикл → Представления" нажать на имя представления.

На вкладке "Сведения" приведены параметры представления, которые можно редактировать нажатием на пиктограмму (карандаш) (рисунок 55).

Рисунок 55 – Просмотр и редактирование сведений

На вкладке "Версия" по кнопке Опубликовать новую версию задают публикацию и продвижение версии представления по шагам, используя кнопки Back и Next. Для публикации нажать Finish.

На вкладке "Репозитории" подключают пользовательские репозитории или репозитории Red Hat.

На вкладке "Фильтры" создаются фильтры нажатием на кнопку Создать фильтр (рисунок 56).

В появившемся модальном окне нужно задать параметры фильтра в соответствующих полях:

  • имя фильтра;
  • тип содержимого;
  • тип включения: исключить или включить;
  • описание фильтра.

Нажать кнопку Создать фильтр.

После создания фильтра дополнительно необходимо задать правила фильтра в зависимости от выбранного типа содержимого при помощи кнопок вида Добавить правило… .

Рисунок 56 – Создание фильтра

На вкладке "Журнал" отображаются данные об истории публикации или продвижения представления окружения.

Ключи активации

Ключи активации позволяют автоматизировать регистрацию ОС. Возможно создавать несколько ключей и связывать их с различными окружениями и представлениями содержимого. Например, можно создать базовый ключ активации, который включает определенные репозитории Red Hat и связывает его с соответствующим представлением содержимого.

Следует обратить внимание, что ключи активации используются только при регистрации узлов. Если в ключ активации вносятся изменения, они распространяются только на узлы, которые в дальнейшем будут зарегистрированы с измененным ключом активации, при этом не вносятся изменения в существующие узлы.

Ключи активации могут определять следующие свойства для содержимого узлов:

  • доступные продукты и репозитории;
  • окружение жизненного цикла и представление содержимого;
  • членство в группах узлов;
  • назначение ОС.

Следует обратить внимание на возможные конфликты просмотров содержимого между созданием узла сети и регистрацией.

При создании узла Комплекс использует шаблоны подготовки и другие ресурсы из представления содержимого, заданного в настройках узлов или группы узлов. Когда узел сети зарегистрирован, представление содержимого из ключа активации перезаписывает исходное представление содержимого из группы узлов или настроек узла. Затем Комплекс использует представление содержимого из ключа активации для каждой будущей задачи, например, для перестроения узла. При перестроении узла сети следует убедиться, что установлено представление содержимого, которое требуется использовать в ключе активации, а не в параметрах узла или группы узлов.

Для создания ключей активации необходимо перейти в меню панели навигации "Содержимое → Жизненный цикл → Ключи активации" и нажать кнопку Создать ключи активации.

В рабочей области для нового ключа нужно задать параметры в полях (рисунок 57):

  • Название – имя ключа;
  • Unlimited Hosts – ограниченное (отключить параметр и задать количество в поле "Ограничение" или неограниченное количество узлов (установить флажок));
  • Описание – описания ключа;
  • Окружение – выбрать с помощью флажка подключенные окружения;
  • Представление – выбрать из списка представлений, составленного в зависимости от выбранного ранее окружения

Нажать кнопку Сохранить.

Рисунок 57 – Создание ключей активации

После сохранения ключей активации можно провести привязку к репозиториям, группам узлов, узлами содержимого в соответствующих вкладках в режиме просмотра.