如何在卫星/卡特罗/工头上同步CentOS 8存储库
时间:2020-02-23 14:31:28 来源:igfitidea点击:
在本教程中,我们将学习如何在Foreman Katello和Red Hat卫星上同步和存储CentOS 8 BaseS和Appstream存储库。
Foreman是用于物理和虚拟系统的供应和生命周期管理的开源应用程序。
Foreman是Red Hat Satellites核心功能的基础是衍生的。
Katello是订阅和存储库管理的Foreman插件。
它允许我们在本地存储存储库,并提供订阅这些存储库和下载内容的方法。
第1步:创建产品
我们首先创建产品,这是在CLI或者Web控制台上完成的。
从CLI:
列出组织:
hammer organization list
创建产品
hammer product create --organization-id 1 \ --name "CentOS 8 Linux for x86_64" \ --description "Repositories to use with CentOS 8 Linux"
从Web控制台
转到产品>创建产品
输入产品详细信息并单击"保存"按钮以创建产品。
第2步:导入CentOS 8 GPG密钥
来自Cli.
mkdir /etc/pki/rpm-gpg/import/ cd /etc/pki/rpm-gpg/import/ wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official hammer gpg create --organization-id 1 \ --key "RPM-GPG-KEY-CentOS-Official" \ --name "RPM-GPG-KEY-CentOS-8"
从Web控制台创建,导航到内容>凭据>新内容凭据
给出关键信息 - 名称,执行和粘贴密钥内容或者使用浏览按钮上传。
第3步:创建存储库
添加产品和内容凭据后,我们现在可以将CentOS 8的存储库添加到创建的产品中。
Hammer cli.
BaseOS存储库
hammer repository create --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --name "CentOS 8 Base RPMS" \ --label "CentOS_8_Base_RPMS" \ --content-type "yum" \ --download-policy "on_demand" \ --gpg-key "RPM-GPG-KEY-CentOS-8" \ --url "http://centos.mirror.liquidtelecom.com/8/BaseOS/x86_64/os/" \ --mirror-on-sync "no"
appstream存储库
hammer repository create --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --name "CentOS 8 AppStream RPMS" \ --label "CentOS_8_AppStream_RPMS" \ --content-type "yum" \ --download-policy "on_demand" \ --gpg-key "RPM-GPG-KEY-CentOS-8" \ --url "http://centos.mirror.liquidtelecom.com/8/AppStream/x86_64/os/" \ --mirror-on-sync "no"
Powertools存储库
hammer repository create --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --name "CentOS 8 PowerTools RPMS" \ --label "CentOS_8_PowerTools_RPMS" \ --content-type "yum" \ --download-policy "on_demand" \ --gpg-key "RPM-GPG-KEY-CentOS-8" \ --url "http://centos.mirror.liquidtelecom.com/8/PowerTools/x86_64/os/" \ --mirror-on-sync "no"
centosplus存储库
hammer repository create --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --name "CentOS 8 centosplus RPMS" \ --label "CentOS_8_centosplus_RPMS" \ --content-type "yum" \ --download-policy "on_demand" \ --gpg-key "RPM-GPG-KEY-CentOS-8" \ --url "http://centos.mirror.liquidtelecom.com/8/centosplus/x86_64/os/" \ --mirror-on-sync "no"
额外的存储库
hammer repository create --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --name "CentOS 8 extras RPMS" \ --label "CentOS_8_extras_RPMS" \ --content-type "yum" \ --download-policy "on_demand" \ --gpg-key "RPM-GPG-KEY-CentOS-8" \ --url "http://centos.mirror.liquidtelecom.com/8/extras/x86_64/os/" \ --mirror-on-sync "no"
要查看产品中的存储库,请运行命令。
$hammer repository list --organization-id 1 --product "CentOS 8 Linux for x86_64" ---|--------------------------|---------------------------|--------------|-------------------------------------------------------------- ID | NAME | PRODUCT | CONTENT TYPE | URL ---|--------------------------|---------------------------|--------------|-------------------------------------------------------------- 65 | CentOS 8 AppStream RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/AppStream/x86_64/os/ 64 | CentOS 8 Base RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/BaseOS/x86_64/os/ 67 | CentOS 8 centosplus RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/centosplus/x86_64/os/ 68 | CentOS 8 extras RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/extras/x86_64/os/ 66 | CentOS 8 PowerTools RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/PowerTools/x86_64/os/ ---|--------------------------|---------------------------|--------------|--------------------------------------------------------------
从Web控制台
同样可以从产品>存储库下的工头/卫星网络仪表板上实现
第4步:Sync存储库
添加了存储库后,启动同步将存储库内容拉到本地卫星/katello server.hammer cli:列表存储库
$hammer repository list --organization-id 1 --product "CentOS 8 Linux for x86_64" ---|--------------------------|---------------------------|--------------|-------------------------------------------------------------- ID | NAME | PRODUCT | CONTENT TYPE | URL ---|--------------------------|---------------------------|--------------|-------------------------------------------------------------- 65 | CentOS 8 AppStream RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/AppStream/x86_64/os/ 64 | CentOS 8 Base RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/BaseOS/x86_64/os/ 67 | CentOS 8 centosplus RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/centosplus/x86_64/os/ 68 | CentOS 8 extras RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/extras/x86_64/os/ 66 | CentOS 8 PowerTools RPMS | CentOS 8 Linux for x86_64 | yum | http://centos.mirror.liquidtelecom.com/8/PowerTools/x86_64/os/ ---|--------------------------|---------------------------|--------------|--------------------------------------------------------------
请注意ids然后循环循环以同步存储库。
for i in $(seq 64 68); do \ hammer repository synchronize --async --organization-id 1 \ --product "CentOS 8 Linux for x86_64" \ --id "$i"; \ done
一段时间后确认同步状态。
$hammer product list --name "CentOS 8 Linux for x86_64" --organization-id 1 ---|---------------------------|----------------------------------------|---------------|--------------|----------------- ID | NAME | DESCRIPTION | ORGANIZATION | REPOSITORIES | SYNC STATE ---|---------------------------|----------------------------------------|---------------|--------------|----------------- 37 | CentOS 8 Linux for x86_64 | Repositories for CentOS 8 Linux x86_64 | Mycompany LTD | 5 | Syncing Complete. ---|---------------------------|----------------------------------------|---------------|--------------|-----------------
同步也可以在Web管理仪表板上启动。
第5步:创建内容视图
从CLI或者Web控制台创建内容视图。
hammer content-view create --organization-id 1 \ --name "CentOS_8" \ --description "Content view for CentOS 8"
第6步:将存储库添加到Content View
将存储库添加到创建的内容视图中。
for i in $(seq 64 68); do \ hammer content-view add-repository --organization-id 1 \ --name "CentOS_8" \ --product "CentOS 8 Linux for x86_64" \ --repository-id "$i"; \ done
第7步:发布内容视图
发布内容视图。
hammer content-view publish --organization-id 1 \ --name "CentOS_8" \ --description "Publishing repositories"
步骤8:创建激活密钥
获取可用的生命周期环境:
$hammer lifecycle-environment list --organization-id 1 ---|---------|----- ID | NAME | PRIOR ---|---------|----- 1 | Library | ---|---------|-----
创建激活密钥
$hammer activation-key create --organization-id 1 \ --name "centos8" \ --description "CentOS 8 Activation Key" \ --lifecycle-environment "Library" \ --content-view "CentOS_8" \ --unlimited-hosts $hammer activation-key list --organization-id 1 ---|-----------------|------------------|-----------------------|------------------------- ID | NAME | HOST LIMIT | LIFECYCLE ENVIRONMENT | CONTENT VIEW ---|-----------------|------------------|-----------------------|------------------------- 1 | centos7 | 0 of Unlimited | | 2 | centos8 | 0 of Unlimited | | ---|-----------------|------------------|-----------------------|-------------------------
步骤9:将订阅添加到激活密钥
列出组织中的订阅
$hammer subscription list --organization-id 1
将上面的订阅添加到我们的激活密钥:
hammer activation-key add-subscription --organization-id 1 \ --name "centos8" \ --quantity "1" \ --subscription-id "164"
其中164是最后一个命令所示的订阅的ID。
第10步:将CentOS 8机器订阅到Satellite/Foreman(Katello)
我们的存储库现在已准备好被CentOS 8客户消费。