第 6 章 管理内容视图
Red Hat Satellite 使用内容视图来允许主机访问独立策展的内容子集。要做到这一点,您必须定义要使用的存储库,然后将某些过滤器应用到内容。这些过滤器包括软件包过滤器、软件包组过滤器、勘误表过滤器、模块流过滤器和容器镜像标签过滤器。您可以使用内容视图来定义特定环境使用的软件版本。例如,生产环境 可能使用包含较旧软件包版本的内容视图,而 开发环境 可能会使用包含较新软件包版本的内容视图。
或者,默认的组织 视图是应用程序控制的内容视图,用于与 Satellite 同步的所有内容。如果您想将主机注册到 Satellite 并使用订阅访问内容,而不操作内容视图和生命周期环境,则此类型非常有用。
每个内容视图在每个环境中创建一组存储库,供卫星服务器存储和管理。当您在应用程序生命周期中将内容视图从一个环境提升到下一个环境时,卫星服务器上对应的存储库会更新并发布软件包。
开发 | 测试 | Production | |
---|---|---|---|
内容视图和内容 | 版本 2 - example_software-1.1-0.noarch.rpm | 版本 1 - example_software-1.0-0.noarch.rpm | 版本 1 - example_software-1.0-0.noarch.rpm |
用于 Testing 和 Production 的软件仓库包含 example_software-1.0-0noarch.rpm
软件包。如果您将 Version 2 的内容视图从 Development 提升到 Testing,则测试会重新生成的存储库,然后包含 example_software-1.1-0.noarch.rpm
软件包:
开发 | 测试 | Production | |
---|---|---|---|
内容视图和内容 | 版本 2 - example_software-1.1-0.noarch.rpm | 版本 2 - example_software-1.1-0.noarch.rpm | 版本 1 - example_software-1.0-0.noarch.rpm |
这样可保证系统被指定到特定的环境,但在该环境使用新版本的内容视图时接收更新。
创建用于过滤和创建快照的内容视图的一般工作流如下:
- 创建内容视图.
- 为内容视图添加一个或多个您需要的仓库。
- 可选:创建一个或多个过滤器来重新定义内容视图的内容。更多信息请参阅 第 6.9 节 “内容过滤器示例”。
- 可选:解决内容视图的任何软件包依赖项。更多信息请参阅 第 6.7 节 “解决软件包依赖项”。
- 发布内容视图。
- 可选:将内容视图提升到另一个环境。更多信息请参阅 第 6.3 节 “提升内容视图”。
- 将内容主机附加到内容视图。
如果存储库没有与内容视图关联,文件 /etc/yum.repos.d/redhat.repo
仍为空,且注册到该系统的系统无法接收更新。
主机只能与单个内容视图关联。要将主机与多个内容视图关联,请创建一个复合内容视图。更多信息请参阅 第 6.5 节 “创建复合内容视图”。
6.1. 创建内容视图
使用此流程创建简单的内容视图。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
虽然您可以确定是否要根据内容视图解析内容视图上的任何软件包依赖项,但可能需要更改默认的卫星设置,以为所有内容视图启用或禁用软件包解析。更多信息请参阅 第 6.7 节 “解决软件包依赖项”。
流程
- 在 Satellite Web UI 中,导航到 Content > Content Views,再点击 Create content view。
- 在 Name 字段中输入视图的名称。Satellite 会根据您输入的名称自动完成 Label 字段。
- 在 Description 字段中输入视图的描述。
- 在 Type 字段中,选择 Content view 或 Composite 内容视图。
- 可选:如果您要在每次发布此内容视图时自动解决依赖项,请选择 Solv e 依赖项 复选框。依赖项解决会减慢发布时间,并可能忽略您使用的任何内容视图过滤器。这在解决勘误依赖关系时也会导致错误。
- 可选: 如果要指定从上游服务器导入此内容视图,请选择 Import only 复选框。仅导入的内容视图无法直接发布。
- 点 Create 内容视图。
内容视图步骤
- 单击 Create 内容视图 以创建 Content View。
- 在 Repositories 选项卡中,从您要添加到内容视图的 Type 列表中选择存储库,选中您要添加的可用存储库旁边的复选框,然后单击 添加存储库。
- 单击 Publish new version,然后在 Description 字段中输入有关版本的信息以记录更改。
- 可选:您可以通过点 Promote 到 Select a lifecycle environment from the available promotion paths to promote new version 来启用一个提升。
- 点击 Next。
- 在 Review 页面中,您可以查看您要发布的环境。
点 Finish。
注意Remove 和 Delete 类似,但 Delete 选项会删除整个内容视图以及与那个生命周期环境相关联的版本。Remove 选项允许您选择从生命周期环境中删除的版本。
您可以在 Content Views 窗口中查看 Content View。要查看有关内容视图的更多信息,请单击 Content View name。要将一个主机注册到您的内容视图,请参阅管理主机中的注册主机。
CLI 过程
获取存储库 ID 列表:
# hammer repository list --organization "My_Organization"
创建 Content View 并添加软件仓库:
# hammer content-view create \ --description "My_Content_View" \ --name "My_Content_View" \ --organization "My_Organization" \ --repository-ids 1,2
对于
--repository-ids
选项,您可以在hammer 存储库列表
命令的输出中找到 ID。发布视图:
# hammer content-view publish \ --description "My_Content_View" \ --name "My_Content_View" \ --organization "My_Organization"
可选: 要将存储库添加到现有 Content View 中,请输入以下命令:
# hammer content-view add-repository \ --name "My_Content_View" \ --organization "My_Organization" \ --repository-id repository_ID
Satellite 服务器会创建新版本的视图,并将它发布到 Library 环境中。