5.2. 使用 Operator 在部分断开连接的 OpenShift Container Platform 环境中使用 Orchestrator 安装 Red Hat Developer Hub
您可以使用 Operator 在部分 air-gapped 环境中使用 Orchestrator 插件安装 Red Hat Developer Hub。
断开连接的安装可防止未经授权的访问、数据传输或与外部源通信。
您可以使用 oc-mirror 命令将资源直接镜像到可访问的本地镜像 registry 并应用生成的集群资源。
先决条件
- 您已使用 RHDH 镜像脚本将 Red Hat Developer Hub Operator 镜像镜像到本地 registry。如需更多信息,请参阅使用 Operator 在部分断开连接的环境中安装 Red Hat Developer Hub。
- 已使用本地 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 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另外,您可以使用
podman命令查找缺少的镜像,并在版本更改时将它们添加到additionalimages列表中:IMG=registry.redhat.io/openshift-serverless-1/logic-operator-bundle:1.36.0-8 mkdir local-manifests-osl podman create --name temp-container "$IMG" -c "cat /manifests/logic-operator-rhel8.clusterserviceversion.yaml" podman cp temp-container:/manifests ./local-manifests-osl podman rm temp-container yq -r '.data."controllers_cfg.yaml" | from_yaml | .. | select(tag == "!!str") | select(test("^.\\/.:.*$"))' ./local-manifests-osl/manifests/logic-operator-rhel8-controllers-config_v1_configmap.yaml通过运行
oc-mirror命令,对ImageSetConfiguration.yaml文件中的镜像进行镜像(mirror)。例如:oc-mirror --config=imagesetconfiguration.yaml docker://<registry URL:port> --workspace file://<workspace folder> --authfile /path/to/authfile --v2 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-
使用
OperatorHub安装 OpenShift Serverless Operator 和 OpenShift Serverless Logic Operator。 - 创建 Backstage 自定义资源(CR)。
为 Orchestrator 配置 Backstage CR,如安装 Operator 的 Orchestrator 插件依赖项 中所述。
创建所有资源并相应地配置 Backstage 实例。有关如何将 RHDH 指向 自定义 NPM registry 的说明,请参阅配置自定义 NPM registry。
验证
- 重启 RHDH pod,并等待组件正确部署。
- 稳定后,进入 RHDH UI,并确认 Orchestrator UI 可以访问并正确运行。
Orchestrator UI 的成功访问会确认底层组件正在运行,集群可以识别插件。