当主机是 EC2 实例时如何访问 RHEL 非 UBI 内容

当主机是 EC2 实例时如何访问 RHEL 非 UBI 内容

Red Hat 通用基础映像 (UBI)常问问题声称

8. 在 UBI 上构建的应用程序是否可以访问与在非 UBI 基础映像上构建的映像相同的内容?

是的,但是访问非 UBI 内容需要 Red Hat 订阅,并且使用非 UBI 内容构建的容器不可重新分发。

当我在已注册、已订阅的主机上启动 UBI 容器时,可用的 RPM 存储库列表会有所不同,具体取决于我是从 RHEL ISO(在本例中为 VirtualBox VM)创建主机还是从 RHEL AMI 启动 EC2 实例。EC2 实例上的 UBI 容器无法访问完整的 RPM 软件包存储库集。

例如:

RHEL8 EC2 实例上的 UBI8 容器

[ec2-user@ip-WWW-XXX-YYY-ZZZ ~]$ podman run --rm -it ubi7 yum repolist all | wc -l
41

RHEL8 VirtualBox VM 上的 UBI8 容器

[neirbowj@rhel8 ~]$ podman run --rm -it ubi8 yum repolist all | wc -l
427

为什么会出现这种情况?我该如何修改 EC2 环境,以便能够从 UBI 容器内访问全套 RPM 包存储库?

答案1

造成这种差异的原因是 RHEL AMI 附带了非默认值/etc/rhsm/rhsm.conf:manage_repos = 0。设置manage_repos = 1将使 RHEL EC2 实例在 RPM 包存储库访问方面表现得像 RHEL VM。

使用以下命令查看当前 RHSM 配置:

sudo subscription-manager config --list

请注意,方括号表示哪些值是默认值。

启用 RHSM 来管理 repos:

sudo subscription-manager config --rhsm.manage_repos=1

相关内容