This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.2. 创建镜像 registry
创建 registry 来托管安装 OpenShift Container Platform 所需的镜像内容。
以下流程创建一个简单的 registry,它可在 /opt/registry
文件夹中保存数据并在 podman
容器中运行。您可以使用不同的 registry 解决方案,例如 Red Hat Quay。检查以下流程以确保 registry 可以正常工作。
先决条件
- 网络上有一个 Red Hat Enterprise Linux (RHEL) 服务器充当 registry 主机。
- registry 主机可以访问互联网。
流程
安装所需的软件包:
yum -y install podman httpd-tools
# yum -y install podman httpd-tools
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman
软件包提供容器软件包,用于运行 registry。httpd-tools
软件包提供htpasswd
实用程序,用于创建用户。为 registry 创建文件夹:
mkdir -p /opt/registry/{auth,certs,data}
# mkdir -p /opt/registry/{auth,certs,data}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这些文件夹挂载到 registry 容器中。
为 registry 提供证书。如果您没有现有的可信证书颁发机构,您可以生成自签名证书:
cd /opt/registry/certs openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt
$ cd /opt/registry/certs # openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在提示符处,为证书提供所需的值:
国家/地区名称(双字母代码)
指定您所在位置的双字母 ISO 国家/地区代码。请参见 ISO 3166 国家/地区代码标准。
州或省名称(完整名称)
输入您的州或省的完整名称。
本地名称(例如,城市)
输入您的城市名称。
机构名称(例如,公司)
输入公司的名称。
组织单元名称(例如,部门)
输入您的部门名称。
通用名称(例如,您的名字或服务器主机名)
输入 registry 主机的主机名。确保您的主机名在 DNS 中,并且解析为预期的 IP 地址。
电子邮件地址
输入您的电子邮件地址。如需了解更多信息,请参阅 OpenSSL 文档中的 req 说明。
为 registry 生成使用
bcrpt
格式的用户名和密码:htpasswd -bBc /opt/registry/auth/htpasswd <user_name> <password>
# htpasswd -bBc /opt/registry/auth/htpasswd <user_name> <password>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<user_name>
和<password>
替换为用户名和密码。
创建
mirror-registry
容器以托管 registry:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
<local_registry_host_port>
,请指定您的镜像 registry 用于提供内容的端口。
为 registry 打开所需的端口:
firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=internal --permanent firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=public --permanent firewall-cmd --reload
# firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=internal --permanent
1 # firewall-cmd --add-port=<local_registry_host_port>/tcp --zone=public --permanent
2 # firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将自签名证书添加到您的可信证书列表中:
cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust
# cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须信任您的证书,才能在镜像过程中登录到 registry。
确认 registry 可用:
curl -u <user_name>:<password> -k https://<local_registry_host_name>:<local_registry_host_port>/v2/_catalog
$ curl -u <user_name>:<password> -k https://<local_registry_host_name>:<local_registry_host_port>/v2/_catalog
1 {"repositories":[]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
<user_name>
和<password>
,指定 registry 的用户名和密码。对于<local_registry_host_name>
,请指定在您的证书中指定的 registry 域名,如registry.example.com
。对于<local_registry_host_port>
,请指定您的镜像 registry 用于提供内容的端口。
如果命令输出显示一个空存储库,则您的 registry 已经可用。