这个例子让我们看到了在Foreman中管理和配置CentOSStream内容的众多选项。2021年12月,CentOS8将结束生命周期并被CentOSStream取代。CentOSStream与CentOS先前迭代之间的其中一个主要变化是没有次要版本。CentosStream遵循一个连续的发布周期。从今年年初开始,Foreman社区的开发人员开始看到CentOSStream因持续发布而提供的早期错误检测和补丁的好处。我们不再需要等待下一个版本来利用最新的更改和错误修复。一位经验丰富的Linux社区爱好者指出,此举还使RHEL开发人员比以往任何时候都更接近FOSS社区。但是,如果您是拥有数百或数千台服务器的管理员,您可能希望控制何时将新包添加到特定服务器。如果您正在寻找一个免费的开源工具来帮助您确保生产服务器的稳定性,同时允许您安全地从CentosStream中提取最新的更改以进行开发和测试,这就是Foreman可以提供帮助的地方。借助Foreman,您可以在生命周期环境的所有阶段管理您的CentosStream内容。Foreman简介Foreman是一个完整的物理和虚拟服务器生命周期管理工具。借助Foreman,系统管理员能够轻松地自动执行重复性任务、快速部署应用程序并主动管理本地或云端的服务器。Foreman为供应管理、配置管理和监控提供企业级解决方案。由于其插件架构,Foreman可以通过无数种方式进行扩展。使用Katello插件,您可以使用Foreman作为一个完整的内容管理工具来管理CentOSStream,以及许多其他内容类型。使用Foreman和Katello,您可以准确定义希望每个环境包含哪些包。例如,生产环境可能使用已验证为稳定的包,而开发环境可能需要最新、最高级版本的包。您还可以在整个生命周期环境中提升内容视图。让我们看看Foreman是如何完成这项任务的。我们在这篇文章中使用了WebUI,但Foreman也有一个强大的CLI和API。Katello插件为Pulp项目提供了工作流程和WebUI,您可以在本文中了解更多信息。我们在这里也提供了一个简单的工作流程,但是Foreman和Katello项目提供了许多不同的配置选项来满足您的特定需求。本文假设已经安装了Foreman和Katello。有关如何安装的更多信息,请参阅Katello安装手册。创建产品第一步是在Foreman中创建产品。该产品作为一个内部标签来存储CentOSStream存储库。在ForemanWebUI中,导航至“内容>产品”并单击“创建产品”。在名称字段中,输入产品的名称。Foreman会根据您输入的“姓名”自动填写“标签”栏,以后无法更改。将CentOSStream存储库添加到产品现在您已经有了一个产品,您可以获取AppStream和BaseOS存储库的URL,并将它们添加到您的新产品中。在ForemanWebUI中,导航到Content>Products,选择您要使用的产品,然后单击NewRepository。在名称字段中,输入存储库的名称;例如,“Centos8StreamBaseOS”。Foreman将根据您输入的“姓名”自动完成“标签”字段。从类型列表中,选择存储库类型,然后选择Yum。在URL字段中,输入CentOSStreamBaseos存储库的URL作为源:http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/。选择下载策略列表。默认值为“OnDemand”,这意味着Katello将只下载元数据。如果要下载所有包,请改成“Immediate立即”,可以下载所有包,可能会达到20-30GB。确保选中“同步镜像”复选框。此选项可确保在同步期间删除不再属于上游存储库的内容。单击“保存”。重复这些步骤以添加AppStream存储库及其URL,例如http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/。确保你使用最新的官方CentOS镜像。要执行立即同步,请在您的产品窗口中单击“立即同步”。初始同步可能需要一些时间。您可以从“Content>SyncStatusSyncStatus”查看同步状态。同步完成后,您可以在“Hosts>OperatingSystemOperatingSystem”中查看新的CentOSStream操作系统。随意编辑名称和描述以满足您的要求。如果您计划使用Ansible或Puppet等配置管理软件,Foreman会自动创建操作系统报告。您可以在“Administe>Settings>Settings>Ignorefactsforoperatingsystem”中关闭此选项。重命名操作系统以匹配配置管理软件中的名称是个好主意。例如,对于Puppet,这将是“CentOS8”。定义基础设施的生命周期环境应用程序生命周期是Foreman内容管理功能的核心概念。应用程序生命周期定义了特定系统及其软件在特定阶段的状态。例如,应用程序的生命周期可能很简单,您可能只有一个“开发”阶段和一个“生产”阶段。Foreman提供了以受控方式自定义每个应用程序生命周期阶段的方法,以满足您的规范。此时,您必须创建生命周期环境路径。在ForemanWebUI中,导航到Content>LifecycleEnvironments。点击“NewEnvironmentPath”开始一个新的应用程序生命周期。在名称字段中,为您的环境输入一个名称。在“描述”字段中,为您的环境输入描述。单击“保存”。根据需要添加尽可能多的环境路径。例如,您可以创建“开发”、“测试”、“阶段”和“生产”环境。要添加这些环境,请单击“添加新环境”,完成“名称”和“描述”字段,并从“先前环境*”列表中选择以前的环境,这样您就可以按照您打算使用Connect的顺序使用它们他们串联。创建和发布内容视图在Foreman中,“内容视图”是存储库在特定时间点的快照。内容视图提供了一种将包版本隔离为您想要保留的状态的机制。内容视图有很多可配置的特性,您可以使用它们来进一步完善它。出于本教程的目的,让我们保持简单。在ForemanWebUI中,导航到“内容”>“内容视图”,然后单击“创建新视图”。在名称字段中,输入视图的名称。Foreman将根据您输入的姓名自动完成标签字段。在描述字段中,输入视图的描述。单击保存创建内容视图。在新的内容视图中,点击“YumContentsYumContents>AddRepositoryAddRepositories”,在“RepositorySelectionRepositorySelection”区域点击“Add”。对于BaseOS和Appstream存储库,选择要包含的包并单击添加存储库。单击“发布新版本”,在“描述”字段中输入有关版本的信息以记录更改。单击保存。当您点击“发布新版本”时,您会创建已同步所有内容的快照。这意味着您订阅此内容视图的每个服务器都只能访问与此生命周期环境关联的内容视图中的包版本。每个新的内容视图和后续版本都首先发布到存储库环境,然后您可以在其中推出到其他环境。跨生命周期环境提升内容如果您已经测试了新包并且确信一切都稳定,那么您可以将您的内容视图提升到另一个生命周期环境。导航到“内容>内容视图内容视图”,选择要推广的内容视图。单击内容视图的“版本”选项卡。选择您要推广的版本,点击“操作”栏中的“推广”。选择要升级内容视图的环境,然后单击“升级版本”。再次点击“推广”按钮。这次选择生命周期环境,比如“Test”,点击“PromoteVersion”。最后,再次点击“推广”按钮。例如选择“Production”环境,点击“PromoteVersion”。分配给该特定环境的服务器现在可以从一组更新的包中提取。创建一个激活密钥为了将CentOSStream服务器注册到您在特定生命周期中定义的内容,您必须创建一个激活密钥。激活密钥是一种与服务器共享凭据的安全方法。这使用一个名为subscription-manager的工具来订阅CentOSStream服务器的内容。创建激活密钥后,将CentOSStream订阅添加到激活密钥。在ForemanWebUI中,导航至“内容>激活密钥激活密钥”,然后单击“创建激活密钥”。在“名称”列中,输入激活密钥的名称。在“描述”栏中,输入激活密钥密钥的描述。从“环境”列表中,选择您要使用的环境。从“内容视图”列表中,选择您刚刚创建的内容视图。单击“保存”。创建CentOSStream主机现在已全部设置完毕。通过将您创建的内容包含在内容视图中并在其整个生命周期中进行推广,您现在可以使用您想要使用的内容准确配置主机并订阅您希望他们接收的更新。要在Foreman中创建主机,请导航至主机>创建主机。在名称字段中,输入主机的名称。单击Organization和Location选项卡以确保配置环境自动设置为当前环境。从部署列表中,选择裸机。单击操作系统选项卡。从体系结构列表中,选择x86_64。从操作系统列表中,选择CentOS_Stream8。选中“构建模式”框。对于“媒体选择”,选择“同步内容”以使用您之前同步的CentOSStream内容。从同步内容列表中,确保选择了CentOSStream。从PartitionTable列表中,对于此演示,选择默认的“Kickstart”,但有许多选项可用。在“RootPasswordRootPassword”字段中,输入新主机的root密码。单击“接口”选项卡,单击“编辑”,添加一个“Mac地址Mac地址”。单击“参数”选项卡并确保有一个参数提供激活密钥。如果没有,请添加激活密钥。单击“提交”以保存主机条目。现在,新控制台处于构建模式,这意味着当你打开它时,它将开始安装操作系统。如果您导航到“主机>内容主机”,您可以看到您的主机所订阅的订阅、生命周期环境和内容视图的完整详细信息。这个例子只是对您在Foreman中管理和配置CentOSStream内容的众多选项的一小部分了解。如果您想详细了解如何管理CentOSStream版本、控制您的服务器可以访问的内容,以及控制和保护您的基础架构的稳定性,请查看Foreman内容管理文档。当所有CentOSStream内容都在您的控制之下时,您可以创建并注册CentOSStream以仅使用您指定的内容。有关舾装的更多详细信息,请参阅Foreman舾装文档。如果您有任何问题、反馈或建议,可以在https://community.theforeman.org/找到Foreman社区。
