3.2. 在使用 Helm Chart 的部分断开连接的环境中在 OpenShift Container Platform 上安装 Red Hat Developer Hub
如果您的网络可以访问 registry.redhat.io registry 和 charts.openshift.io Helm Chart 仓库,您可以通过将指定资源直接镜像到目标 registry 来在部分断开连接的环境中部署 Red Hat Developer Hub 实例。
先决条件
- 已安装 Red Hat OpenShift Container Platform 4.16 或更高版本。
-
您可以访问
charts.openshift.ioHelm Chart 仓库。 -
您可以访问
registry.redhat.io。 - 您可以访问可从断开连接的集群访问的镜像 registry,例如:OpenShift Container Platform 镜像 registry。有关公开 OpenShift Container Platform 镜像 registry 的更多信息,请参阅 公开 registry。
- 已登陆到目标镜像 registry,并有将镜像推送到它的权限。如需更多信息,请参阅配置允许镜像镜像的凭证。
-
已在工作站上安装了 OpenShift CLI (
oc)。 -
建议在 OpenShift Container Platform 中:已安装了
oc-mirrorOpenShift CLI (oc)插件 v2。如需更多信息,请参阅安装 oc-mirror OpenShift CLI 插件。 - 在 Red Hat Developer Portal 中有一个帐户。
- 请确定您的系统满足最低要求。请参阅 Red Hat Developer Hub 大小要求。
流程
运行以下命令,使用 OpenShift CLI (
oc)登录到 OpenShift Container Platform 帐户:oc login -u <user> -p <password> https://api.<hostname>:6443- 从断开连接的集群中,登录到您要镜像的镜像 registry,如 OpenShift Container Platform 镜像 registry。
创建
ImageSetConfiguration.yaml文件,以指定您要镜像的资源。例如: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命令,将镜像设置配置文件中指定的资源直接镜像到目标 registry。例如:oc-mirror --config=<mirror_config_directory>/ImageSetConfiguration.yaml <target-mirror-registry>其中:
<mirror_config_directory>-
指定系统上镜像设置配置文件的位置,如
.user。 <target_mirror_registry>-
指定目标镜像 registry 的位置和名称,如
docker://registry.example:5000。
注意运行
oc-mirror命令会创建一个包含 Helm Chart 和ImageContentSourcePolicy(ICSP)清单的本地工作区。ICSP 清单包含一个自动生成的imageContentSourcePolicy.yaml文件,您必须在以后的步骤中对集群应用该文件。在您的工作区中,通过运行
ls命令查找ImageDigestMirrorSet(IDMS)和ImageTagMirrorSet(ITMS)文件。例如:ls <workspace_directory>/working-dir/cluster-resources/其中:
<workspace_directory>-
指定工作区目录的名称,如
oc-mirror-workspace。 <results_directory>-
指定结果目录的名称,例如
results-1738070846。
要配置镜像镜像,请通过运行
ocapply 命令在断开连接的集群中部署 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>/<results_directory>/charts/<archive_file> --namespace <your_namespace> --create-namespace \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE"其中:
<rhdh_instance>-
指定 Red Hat Developer Hub 实例的名称,如
my-rhdh。 <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。