17.2.4. 构建图形数据 init 容器
OpenShift Update Service 使用图形数据信息来决定可用的升级。在连接的环境中,OpenShift Update Service 会直接从 Cincinnati 图形数据GitHub 仓库中提取可用于升级的图形数据信息。由于要配置断开连接的环境,所以必须使用 init 容器
使图形数据在本地存储库中可用。完成以下步骤以创建图形数据 init 容器
:
输入以下命令克隆 graph data Git 存储库:
git clone https://github.com/openshift/cincinnati-graph-data
创建一个包含您的图形数据
init
信息的文件。您可以在cincinnati-operator GitHub
仓库中找到此 Dockerfile 示例。该文件的内容在以下示例中显示:FROM registry.access.redhat.com/ubi8/ubi:8.1 RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz RUN mkdir -p /var/lib/cincinnati/graph-data/ CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/ cincinnati/graph-data/ --strip-components=1"
在此例中:
-
FROM
值是 OpenShift Update Service 查找镜像的外部 registry。 -
RUN
命令创建目录并打包升级文件。 -
CMD
命令将软件包文件复制到本地库并提取文件进行升级。
-
运行以下命令来构建
图形数据 init 容器
:podman build -f <path_to_Dockerfile> -t ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest podman push ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest --authfile=/path/to/pull_secret.json
将 path_to_Dockerfile 替换为您在上一步中创建文件的路径。
将 ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container 替换为 graph data init 容器的路径。
将 /path/to/pull_secret 替换为 pull secret 文件的路径。
注: 如果没有安装
podman
,您也可以将命令中的podman
替换为docker
。