7.5. 准备您的镜像主机
在使用 oc-mirror 插件镜像(mirror)前,您必须安装插件并创建容器镜像 registry 凭据文件,以允许从红帽镜像到您的镜像。
7.5.1. 安装 oc-mirror OpenShift CLI 插件 复制链接链接已复制到粘贴板!
安装 oc-mirror OpenShift CLI 插件以在断开连接的环境中管理镜像集。
先决条件
已安装 OpenShift CLI(
oc
)。如果您在完全断开连接的环境中镜像镜像集,请确保以下内容:- 您已在可访问互联网的主机上安装了 oc-mirror 插件。
- 在断开连接的环境中的主机可以访问目标镜像 registry。
-
您已在使用 oc-mirror 的操作系统中,将
umask
参数设置为0022
。 - 您已为您要使用的 RHEL 版本安装了正确的二进制文件。
流程
下载 oc-mirror CLI 插件:
- 进入到 Red Hat Hybrid Cloud Console 的 Downloads 页。
- 在 OpenShift disconnected installation tools 部分中,从下拉菜单中选择 OpenShift Client (oc) mirror plugin 的OS type 和 Architecture type。
- 点 Download 保存文件。
运行以下命令来提取存档:
tar xvzf oc-mirror.tar.gz
$ tar xvzf oc-mirror.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如有必要,运行以下命令来将插件文件更新为可执行:
chmod +x oc-mirror
$ chmod +x oc-mirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意不要重命名
oc-mirror
文件。运行以下命令,将文件放在
PATH
中(如/usr/local/bin
)来安装 oc-mirror CLI 插件:sudo mv oc-mirror /usr/local/bin/.
$ sudo mv oc-mirror /usr/local/bin/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证 oc-mirror 插件 v1 是否已成功安装:
oc mirror help
$ oc mirror help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5.2. 配置允许对容器镜像进行镜像的凭证 复制链接链接已复制到粘贴板!
创建容器镜像 registry 凭证文件,可让您将镜像从红帽 mirror 到您的镜像。
安装集群时不要使用此镜像 registry 凭据文件作为 pull secret。如果在安装集群时提供此文件,集群中的所有机器都将具有镜像 registry 的写入权限。
先决条件
- 您已将镜像 registry 配置为在断开连接的环境中使用。
- 您在镜像 registry 中标识了镜像仓库的位置,以将容器镜像镜像(mirror)到这个位置。
- 您置备了一个镜像 registry 帐户,允许将镜像上传到该镜像仓库。
- 对镜像 registry 有写权限。
流程
在安装主机上完成以下步骤:
-
从 Red Hat OpenShift Cluster Manager 下载
registry.redhat.io
pull secret。 运行以下命令,以 JSON 格式生成 pull secret 副本:
cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>
$ cat ./pull-secret | jq . > <path>/<pull_secret_file_in_json>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定到存储 pull secret 的文件夹的路径,以及您创建的 JSON 文件的名称。
pull secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将文件保存为
~/.docker/config.json
或$XDG_RUNTIME_DIR/containers/auth.json
:如果
.docker
或$XDG_RUNTIME_DIR/containers
目录不存在,请输入以下命令来创建:mkdir -p <directory_name>
$ mkdir -p <directory_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
<directory_name>
是~/.docker
或$XDG_RUNTIME_DIR/containers
。输入以下命令将 pull secret 复制到适当的目录中:
cp <path>/<pull_secret_file_in_json> <directory_name>/<auth_file>
$ cp <path>/<pull_secret_file_in_json> <directory_name>/<auth_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
<directory_name>
是~/.docker
或$XDG_RUNTIME_DIR/containers
,<auth_file>
是config.json
或auth.json
。
运行以下命令,为您的镜像 registry 生成 base64 编码的用户名和密码或令牌:
echo -n '<user_name>:<password>' | base64 -w0
$ echo -n '<user_name>:<password>' | base64 -w0
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 通过
<user_name>
和<password>
指定 registry 的用户名和密码。
输出示例
BGVtbYk3ZHAtqXs=
BGVtbYk3ZHAtqXs=
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 JSON 文件并添加描述 registry 的部分:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改的 pull secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow