第 3 章 使用 Helm Chart 在 air-gapped 环境中的 OpenShift Container Platform 上安装 Red Hat Developer Hub
您可以使用 Red Hat Developer Hub Helm Chart 在完全断开连接或部分断开连接的环境中安装 Red Hat Developer Hub。
如果您的网络可以通过堡垒主机访问 registry,您可以通过 Helm chart 将指定资源镜像到磁盘来安装 Red Hat Developer Hub,并将其传送到 air-gapped 环境,而无需连接到互联网。
先决条件
您已设置了工作站。
- 在 Red Hat Developer Portal 中有一个帐户。
- 您可以访问 charts.openshift.io Helm Chart 仓库。
-
已在工作站上安装了 OpenShift CLI (
oc)。 -
已安装
oc-mirrorOpenShift CLI (oc)插件 v2。如需更多信息,请参阅安装 oc-mirror OpenShift CLI 插件。
您已设置了您的中间主机。
- 您的主机有权访问 红帽生态系统目录。
- 您的主机有权访问目标主机上的镜像 registry。请参阅 公开 registry。
您已设置了目标主机。
- 已安装 Red Hat OpenShift Container Platform 4.16 或更高版本。
- 您的系统满足最小大小要求。请参阅 Red Hat Developer Hub 大小要求。
流程
创建
ImageSetConfiguration文件,以指定您要镜像的资源。例如:apiVersion: mirror.openshift.io/v2alpha1 kind: ImageSetConfiguration mirror: helm: repositories: - name: openshift-charts url: https://charts.openshift.io charts: - name: redhat-developer-hub version: "1.7"其中:
Version: "1.7"- 输入要镜像的 Red Hat Developer Hub 版本。
运行
oc-mirror命令,对ImageSetConfiguration.yaml文件中指定的资源进行镜像(mirror)。例如:oc mirror --v2 -c <mirror_config_directory>/ImageSetConfiguration.yaml file://<mirror_archive_directory>/其中:
<mirror_config_directory>-
输入您系统上镜像设置配置文件的位置,如
.user。 <mirror_archive_directory>-
输入创建镜像存档的目录位置,如
file://.user。
注意运行
oc-mirror命令会生成一个本地工作区,其中包含镜像归档文件、Helm chart、ImageDigestMirrorSet(IDMS)和ImageTagMirrorSet(ITMS)清单。IDMS 和 ITMS 清单包含您必须在后续步骤中针对集群应用的文件。输出示例:
Creating archive /path/to/mirror-archive/mirror_seq1_000000.tar-
将生成的存档文件(例如,
mirror_seq1_000000.tar)传送到 air-gapped 环境。 连接到您的 air-gapped 环境,并确保您也连接到以下对象:
- 本地目标 registry
- 目标 OpenShift Container Platform 集群
在 air-gapped 环境中,通过运行
oc-mirror命令将资源从存档镜像到目标 registry。例如:oc mirror --v2 -c <image-set-config> --from file://<mirror-archive-directory> docker://<target-registry>其中:
<mirror_archive_file>-
输入包含您要镜像资源的文件名称,例如
mirror_seq1_0000.tar。 <target_registry>-
输入您要将镜像推送到的目标 registry 的名称,如
docker://registry.localhost:5000。
在您的工作区中,运行以下命令来查找 IDMS 和 ITMS 文件。例如:
ls <workspace_directory>/working-dir/cluster-resources/其中:
<workspace_directory>-
指定工作区目录的名称,如
oc-mirror-workspace。 <results_directory>-
指定结果目录的名称,例如
results-1738070846。
要镜像 Helm Chart,请通过运行
oc apply命令在断开连接的集群中部署 IDMS 和 ITMS 文件。例如:oc apply -f <workspace_directory>/working-dir/cluster-resources其中:
<workspace-directory>-
输入工作区目录的名称,如
oc-mirror-workspace。 <results-directory>-
输入结果目录的名称,例如
results-1738070846。
在 air-gapped 环境中,通过运行带有
namespace和set选项的helm install命令,将 Helm Chart 部署到您要使用的命名空间中。例如:CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/[.]*\.//') helm install <rhdh_instance> <workspace_directory>/working-dir/helm/charts/<archive_file> --namespace <your_namespace> --create-namespace \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE"其中:
<rhdh_instance>-
输入 Red Hat Developer Hub 实例的名称,如
my-rhdh-project。 <workspace_directory>-
输入工作区目录的名称,如
oc-mirror-workspace。 <results_directory>-
输入结果目录的名称,例如
results-1738070846。 <archive_file>-
输入包含您要镜像资源的归档文件的名称,例如
redhat-developer-hub-1.4.1.tgz。 <your_namespace>-
输入您要将 Helm Chart 部署到的命名空间,如
my-rhdh-project。