Как получить доступ к содержимому RHEL, отличному от UBI, если хост является экземпляром EC2
В FAQ по универсальному базовому образу Red Hat (UBI) утверждается, что
8. Будут ли приложения, созданные на основе UBI, иметь доступ к тому же содержимому, что и изображения, созданные на основе базового образа, отличного от UBI?
Да, но для доступа к содержимому, не относящемуся к UBI, требуется подписка Red Hat, и контейнеры, созданные с содержимым, не относящимся к UBI, становятся недоступными для распространения.
Когда я запускаю контейнер UBI на зарегистрированном, подписанном хосте, список доступных репозиториев RPM различается в зависимости от того, создал ли я хост из RHEL ISO (в данном случае виртуальная машина VirtualBox) или запустил экземпляр EC2 из RHEL AMI. Контейнер UBI в экземпляре EC2 не имеет доступа к полному набору репозиториев пакетов RPM.
Например:
Контейнер UBI8 на экземпляре RHEL8 EC2
[ec2-user@ip-WWW-XXX-YYY-ZZZ ~]$ podman run --rm -it ubi7 yum repolist all | wc -l
41
Контейнер UBI8 на виртуальной машине RHEL8 VirtualBox
[neirbowj@rhel8 ~]$ podman run --rm -it ubi8 yum repolist all | wc -l
427
Почему это происходит и как я могу изменить среду EC2, чтобы иметь доступ ко всему набору репозиториев пакетов RPM из контейнера UBI?
1 ответ
Причина этой разницы заключается в том, что RHEL AMI поставляются со значением, отличным от значения по умолчанию./etc/rhsm/rhsm.conf:manage_repos = 0
. Параметрmanage_repos = 1
заставит экземпляр RHEL EC2 вести себя как виртуальную машину RHEL в отношении доступа к хранилищу пакетов RPM.
Посмотрите текущую конфигурацию RHSM с помощью:
sudo subscription-manager config --list
Обратите внимание, что квадратные скобки указывают, какие значения являются значениями по умолчанию.
Включите RHSM для управления репозиториями с помощью:
sudo subscription-manager config --rhsm.manage_repos=1