This documentation is for a release that is no longer maintained
See documentation for the latest supported version.2.2. 使用 Operator 在 OpenShift Container Platform 上部署 Red Hat Developer Hub
作为开发者,您可以使用 Red Hat OpenShift Container Platform Web 控制台中的 Developer Catalog 在 OpenShift Container Platform 上部署 Red Hat Developer Hub 实例。此部署方法使用 Red Hat Developer Hub Operator。
先决条件
- 集群管理员已安装 Red Hat Developer Hub Operator。如需更多信息,请参阅安装 Red Hat Developer Hub Operator。
流程
在 OpenShift Container Platform 中为 Red Hat Developer Hub 实例创建项目,或选择现有项目。
提示有关在 OpenShift Container Platform 中创建项目的更多信息,请参阅 Red Hat OpenShift Container Platform 文档中的使用 Web 控制台 创建项目。
- 从 OpenShift Container Platform Web 控制台的 Developer 视角,点 +Add。
- 在 Developer Catalog 面板中,单击 Operator Backed。
- 在 Filter by keyword 框中,输入 Developer Hub 并点 Red Hat Developer Hub 卡。
- 点 Create。
- 为 Red Hat Developer Hub 实例 添加自定义配置。
- 在 Create Backstage 页面中,点 Create
验证
pod 就绪后,您可以通过打开 URL 来访问 Red Hat Developer Hub 平台。
- 点 Topology 视图中的 pod 确认 pod 就绪,并确认 Details 面板中的 Status。当 pod 就绪时,pod 状态为 Active。
在 Topology 视图中,点 Developer Hub pod 上的 Open URL 图标。
2.2.1. 配置 Developer Hub 自定义资源 复制链接链接已复制到粘贴板!
Backstage 自定义资源(CR)的更新由 Red Hat Developer Hub Operator 自动处理。但是,除非更新 CR 本身,否则对 CR 引用的资源(如 ConfigMap 或 Secret)的更新不会被自动更新。如果要更新 CR 引用的资源,您必须手动删除 Backstage Deployment,以便 Operator 可以使用更新的资源重新创建它。
2.2.1.1. 在 OpenShift Container Platform 中添加自定义应用程序配置文件 复制链接链接已复制到粘贴板!
要更改 Red Hat Developer Hub 实例的配置,您必须执行以下操作:
将自定义应用程序配置文件添加到 OpenShift Container Platform 中,并在自定义资源(CR)中引用它。在 OpenShift Container Platform 中,您可以使用以下示例作为基础模板来创建 ConfigMap,如
app-config-rhdh.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用 Red Hat Developer Hub 的强制后端 auth 密钥来引用 OpenShift Container Platform Secret 中定义的环境变量。
在应用程序配置的
app.baseUrl
、backend.baseUrl
和backend.cors.origin
字段中设置 Red Hat Developer Hub 实例的外部 URL。默认情况下,URL 类似以下示例:https://backstage-<CUSTOM_RESOURCE_NAME>-<NAMESPACE_NAME>.<OPENSHIFT_INGRESS_DOMAIN>;
.-
您可以使用
oc get ingresses.config/cluster -o jsonpath='{.spec.domain}'
命令显示入口域。如果要使用不同的主机或子域,请自定义Custom Resource spec.application.route 字段
,并相应地调整应用程序配置。
-
您可以使用
您需要保护 Red Hat Developer Hub 安装不受外部和未授权访问的影响。像管理任何其他机密一样管理后端 auth 密钥。满足强的密码要求,不要在任何配置文件中公开它,仅将其作为环境变量注入配置文件中。
先决条件
- 您有一个活跃的 Red Hat OpenShift Container Platform 帐户。
流程
- 从 Developer 视角中,选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
- 在 Configure via 中选择 YAML view 选项,并根据需要对文件进行更改。
- 点 Create。
- 选择 Secrets 选项卡。
- 点 Create Key/value Secret。
-
将 secret 命名为
secrets-rhdh
。 添加名为
BACKEND_SECRET
的键,并将 base64 编码字符串作为值。为每个 Red Hat Developer Hub 实例使用唯一值。例如,您可以使用以下命令从终端生成密钥:node -p 'require("crypto").randomBytes(24).toString("base64")'
node -p 'require("crypto").randomBytes(24).toString("base64")'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Create。
- 选择 Topology 视图。
点您要使用的 Red Hat Developer Hub 实例的 overflow 菜单,然后选择 Edit Backstage 来加载 Red Hat Developer Hub 实例的 YAML 视图。
将
spec.application.appConfig.configMaps
和spec.application.extraEnvs.secrets
字段添加到自定义资源。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。
- 返回到 Topology 视图,并等待 Red Hat Developer Hub pod 启动。
- 点 Open URL 图标开始使用带有新配置更改的 Red Hat Developer Hub 平台。
其他资源
- 如需有关 Developer Hub 中的角色和职责的更多信息,请参阅 Red Hat Developer Hub 中的 Red Hat Developer Hub 中的基于角色的访问控制(RBAC)。
2.2.2. 使用 Red Hat Developer Hub Operator 配置动态插件 复制链接链接已复制到粘贴板!
您可以将动态插件的配置存储在 Backstage
自定义资源(CR)可以引用的 ConfigMap
对象中。
如果 pluginConfig
字段引用环境变量,您必须在 secrets-rhdh
secret 中定义变量。
流程
- 在 OpenShift Container Platform Web 控制台中,选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
在 Create ConfigMap 页面中,根据需要在 Configure via 中选择 YAML view 选项,并编辑该文件。
使用 GitHub 动态插件的
ConfigMap
对象示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Create。
- 转至 Topology 选项卡。
点击您要使用的 Red Hat Developer Hub 实例的 overflow 菜单,然后选择 Edit Backstage 来加载 Red Hat Developer Hub 实例的 YAML 视图。
将
dynamicPluginsConfigMapName
字段添加到Backstage
CR。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点击 Save。
- 返回到 Topology 视图,并等待 Red Hat Developer Hub pod 启动。
- 点 Open URL 图标开始使用带有新配置更改的 Red Hat Developer Hub 平台。
验证
通过将
/api/dynamic-plugins-info/loaded-plugins
附加到 Red Hat Developer Hub root URL 并检查插件列表来确保已加载了动态插件配置:插件列表示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在受限网络上运行的 OpenShift Container Platform 集群中,公共资源不可用。但是,部署 Red Hat Developer Hub Operator 并运行 Developer Hub 需要以下公共资源:
- Operator 镜像(bundle、operator、catalog)
- 操作对象镜像(RHDH, PostgreSQL)
要使这些资源可用,请将它们替换为 OpenShift Container Platform 集群可访问的镜像 registry 中的等效资源。
您可以使用一个帮助程序脚本来镜像所需的镜像,并提供必要的配置,以确保在安装 Red Hat Developer Hub Operator 和创建 Developer Hub 实例时将使用这些镜像。
如果 OpenShift Container Platform 集群已准备好在受限网络中操作,此脚本需要已安装目标镜像 registry。但是,如果您准备集群进行断开连接的使用,您可以使用该脚本在集群中部署镜像 registry,并使用它来镜像(mirror)过程。
先决条件
-
您有一个活跃的
oc
会话,其中包含对 OpenShift Container Platform 集群的管理权限。请参阅 OpenShift CLI 入门。 -
您有一个活跃的
oc registry
会话到registry.redhat.io
红帽生态系统目录。请参阅 Red Hat Container Registry 身份验证。 -
opm
CLI 工具已安装。请参阅安装 opm CLI。 - 已安装 jq 软件包。请参阅 下载 jq。
- podman 已安装。请参阅 Podman 安装说明。
- 已安装 Skopeo 版本 1.14 或更高版本。请参阅 安装 Skopeo。
- 如果您已经有一个集群的镜像 registry,则需要一个活跃的 Skopeo 会话,并具有对此 registry 的管理访问权限。 请参阅为断开连接的安装授权 registry 和镜像镜像。
内部 OpenShift Container Platform 集群镜像 registry 不能用作目标镜像 registry。请参阅关于镜像 registry。
- 如果要创建自己的镜像 registry,请参阅为 Red Hat OpenShift 创建带有镜像 registry 的镜像 registry。
如果您还没有镜像 registry,您可以使用 helper 脚本为您创建一个,您需要以下额外先决条件:
- 已安装 cURL 软件包。对于 Red Hat Enterprise Linux,可通过安装 curl 软件包来使用 curl 命令。要将 curl 用于其他平台,请查看 cURL 网站。
-
htpasswd
命令可用。对于 Red Hat Enterprise Linux,可以通过安装httpd-tools
软件包来使用htpasswd
命令。
流程
下载并运行镜像脚本以安装自定义 Operator 目录并镜像相关的镜像:
prepare-restricted-environment.sh
(source)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意完成该脚本可能需要几分钟时间,因为它会将多个镜像复制到镜像 registry。