6.2. 使用 Helm Chart 在部分断开连接的 OpenShift Container Platform 环境中使用 Orchestrator 安装 Red Hat Developer Hub
您可以使用 Helm Chart 在部分 OpenShift Container Platform 环境中使用 Orchestrator 插件安装 Red Hat Developer Hub (RHDH)。
断开连接的安装可防止未经授权的访问、数据传输或与外部源通信。
您可以使用 oc-mirror 命令将资源直接镜像到可访问的本地 registry 并应用生成的集群资源。
先决条件
- 已使用本地 registry 设置断开连接的环境。
- 您有将 NPM 软件包推送到受限网络中的 NPM 服务器的权限。
-
已安装
oc-mirror工具,其版本与 OpenShift Container Platform 集群的版本对应。
流程
为
oc-mirror创建ImageSetConfiguration文件。您必须在ImageSetConfiguration文件中包括 Serverless Logic Operator 所需的镜像和 Operator,因为oc-mirror不会自动镜像所有镜像。使用以下示例:apiVersion: mirror.openshift.io/v2alpha1 kind: ImageSetConfiguration mirror: additionalimages: - name: registry.redhat.io/openshift-serverless-1/logic-jobs-service-postgresql-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-jobs-service-ephemeral-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-data-index-postgresql-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-data-index-ephemeral-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-db-migrator-tool-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-swf-builder-rhel8:1.36.0 - name: registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.36.0 helm: repositories: - name: openshift-charts url: https://charts.openshift.io charts: - name: redhat-developer-hub version: "1.8.1" - name: redhat-developer-hub-orchestrator-infra version: "1.8.1" operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:4.19 # For example: registry.redhat.io/redhat/redhat-operator-index:v4.19 packages: - name: logic-operator-rhel8 channels: - name: alpha minVersion: 1.36.0 maxVersion: 1.36.0 - name: serverless-operator channels: - name: stable minVersion: 1.36.0 maxVersion: 1.36.1通过运行
oc-mirror命令来拉取镜像和图表,并将镜像直接推送到目标 registry,以镜像(mirror)中的镜像。例如:oc-mirror --config=imagesetconfiguration.yaml docker://<registry URL:port> --workspace file://<workspace folder> --authfile /path/to/authfile --v2注意oc-mirror命令拉取ImageSetConfiguration文件中列出的 chart,并使其作为 <workspace folder> 目录下的tgz归档提供。将生成的集群资源应用到断开连接的集群。例如:
cd <workspace folder>/working-dir/cluster-resources/ oc apply -f .使用以下任一方法下载编配器 1.8.2 的节点软件包管理器(NPM)软件包:
从以下 registry 中下载为
tgz文件:- https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator/-/backstage-plugin-orchestrator-1.8.2.tgz
- https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-1.8.2.tgz
- https://npm.registry.redhat.com/@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic/-/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic-1.8.2.tgz
- https://npm.registry.redhat.com/@redhat/backstage-plugin-orchestrator-form-widgets/-/backstage-plugin-orchestrator-form-widgets-1.8.2.tgz
或者,使用来自 Red Hat NPM registry 的 NPM 软件包,如下例所示:
npm pack "@redhat/backstage-plugin-orchestrator@1.8.2" --registry=https://npm.registry.redhat.com npm pack "@redhat/backstage-plugin-orchestrator-backend-dynamic@1.8.2" --registry=https://npm.registry.redhat.com npm pack "@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic@1.8.2 --registry=https://npm.registry.redhat.com npm pack "@redhat/backstage-plugin-orchestrator-form-widgets@1.8.2" --registry=https://npm.registry.redhat.com
将您下载的 NPM 软件包推送到 NPM 服务器,如下例所示:
npm publish backstage-plugin-orchestrator-1.8.2.tgz npm publish backstage-plugin-orchestrator-backend-dynamic-1.8.2.tgz npm publish backstage-plugin-orchestrator-form-widgets-1.8.2.tgz npm publish backstage-plugin-scaffolder-backend-module-orchestrator-dynamic-1.8.2.tgz-
应用
redhat-developer-hub-orchestrator-infraHelm Chart 并批准安装计划。详情请参阅使用 Helm Chart 进行 Air-gapped 安装。 应用 RHDH 1.8 Helm Chart。包含 1.8.1 版本并启用 Orchestrator 插件,如下例所示:
orchestrator.enabled=trueRHDH 1.8 Helm Chart 默认使用完整 URL 引用从官方 Red Hat NPM registry 中拉取 Orchestrator 插件。您必须覆盖此行为以指向本地 registry。
要将 Orchestrator 插件配置为使用自定义 registry,请完成以下步骤:
-
打开
values.yaml文件。 在
orchestrator.plugins部分下明确列出 Orchestrator 插件软件包。您必须将简化的软件包引用替换为指向自定义 NPM registry 的完整 URL,如下例所示:
orchestrator: plugins: - disabled: false package: <custom_NPM_registry_URL>[:<port>]/@redhat/backstage-plugin-orchestrator-backend-dynamic/-/backstage-plugin-orchestrator-backend-dynamic-{product-bundle-version}.tgz integrity: sha512-xxxxxx - disabled: false package: <custom_NPM_registry_URL>[:<port>]/@redhat/backstage-plugin-orchestrator/-/backstage-plugin-orchestrator-{product-bundle-version}.tgz integrity: sha512-xxxxxy - disabled: false package: <custom_NPM_registry_URL>[:<port>]/@redhat/backstage-plugin-orchestrator-form-widgets/-/backstage-plugin-orchestrator-form-widgets-{product-bundle-version}.tgz integrity: sha512-xxxxxz - disabled: false package: <custom_NPM_registry_URL>[:<port>]/@redhat/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic/-/backstage-plugin-scaffolder-backend-module-orchestrator-dynamic-{product-bundle-version}.tgz integrity: sha512-xxxx1其中:
<custom_NPM_registry_URL>- 输入自定义 registry 的地址并确保完整性校验和(如 sha512-xxxxxx)与 registry 中的文件匹配。
-
打开
验证
- 重启 RHDH pod,并等待组件正确部署。
- 部署完成后,进入 RHDH UI,并确认 Orchestrator UI 可以访问并正确运行。
Orchestrator UI 的成功访问会确认底层组件正在运行,集群可以识别插件。