在 OpenShift Container Platform 上安装 Red Hat Developer Hub
使用 Operator 或 Helm Chart 在 Red Hat OpenShift Container Platform 上运行 Red Hat Developer Hub
摘要
前言 复制链接链接已复制到粘贴板!
您可以使用以下方法之一在 OpenShift Container Platform 上安装 Red Hat Developer Hub:
- Red Hat Developer Hub Operator
- 管理员使用 OperatorHub 安装它后,可以在 OpenShift Container Platform 中立即使用
- 使用 Operator Lifecycle Management (OLM)在 OpenShift Container Platform 上管理自动订阅更新
- 需要预安装 Operator 生命周期管理(OLM)来管理 Kubernetes 上的自动订阅更新
- Red Hat Developer Hub Helm chart
- 准备好在 OpenShift Container Platform 和 Kubernetes 中立即使用
- 需要手动安装和管理
您必须设置 app-config.yaml 中的 baseUrl,以匹配 Developer Hub 实例的外部 URL (例如 https://rhdh.example.com)。Red Hat Developer Hub 需要这个值才能正常工作。如果没有设置,前端和后端服务无法正确通信,功能可能无法按预期工作。
使用最能满足您需求和偏好的安装方法。
其他资源
- 有关选择安装方法的详情,请参考 Helm Charts vs。Operators
- 如需有关 Operator 方法的更多信息,请参阅了解 Operator。
- 如需有关 Helm Chart 方法的更多信息,请参阅了解 Helm。
您可以使用 OpenShift Container Platform 控制台中的 Red Hat Developer Hub Operator 在 OpenShift Container Platform 上安装 Red Hat Developer Hub。
1.1. 安装 Red Hat Developer Hub Operator 复制链接链接已复制到粘贴板!
作为管理员,您可以安装 Red Hat Developer Hub Operator。授权用户可以使用 Operator 在 Red Hat OpenShift Container Platform (OpenShift Container Platform)和支持的 Kubernetes 平台上安装 Red Hat Developer Hub。有关支持的平台和版本的更多信息,请参阅 Red Hat Developer Hub 生命周期页。
容器可用于以下 CPU 架构:
-
AMD64 和 Intel 64 (
x86_64)
先决条件
- 以管理员身份在 OpenShift Container Platform Web 控制台中登录。
- 您已在项目中配置了适当的角色和权限,以创建或访问应用程序。如需更多信息,请参阅有关构建应用程序的 Red Hat OpenShift Container Platform 文档。
- 已安装 Red Hat OpenShift Container Platform 4.17 或更高版本。
流程
- 在 OpenShift Container Platform 控制台的导航菜单中点 Operators & gt; OperatorHub。
- 在 Filter by keyword 框中,输入 Developer Hub 并点 Red Hat Developer Hub Operator 卡。
- 在 Red Hat Developer Hub Operator 页面中,阅读有关 Operator 的信息,并点 Install 打开 Install Operator 页面。
成功安装 Operator 后,置备自定义配置:
在创建 Developer Hub 实例前,您必须在项目中创建所需的配置映射和 Secret 资源。这包括
baseUrl和 service-to-service 身份验证 secret。具体步骤请参阅 置备自定义 Red Hat Developer Hub 配置。
在 Update channel 下拉菜单中选择要使用的更新频道,例如 fast 或 fast-1.6。
重要'fast 频道包括特定版本可用的所有更新。任何更新都可能会在 Red Hat Developer Hub 部署中引入意外更改。参阅发行注记以了解任何可能破坏更改的详细信息。
fast-1.6 频道只提供 z-stream 更新,例如从 1.6.1 更新至 1.6.2。如果要在以后更新 Red Hat Developer Hub y-version,例如从 1.6 更新至 1.7,您必须手动切换到 fast-1.7 频道。
- 在 Version 下拉菜单中选择要安装的 Red Hat Developer Hub Operator 版本。默认版本是所选频道中提供的最新版本。
选择 Operator 安装模式。
注意默认选择 All namespaces on the cluster (default) 选项。目前不支持 cluster 选项上的特定命名空间。
在 Installed Namespace 字段中,执行以下操作之一:
- 选择 Operator recommended Namespace 来创建并使用 rhdh-operator 命名空间。默认选择这个选项。
选择 Select a Namespace 使用替代命名空间。
在 Select Project 下拉菜单中,执行以下操作之一:
- 选择现有项目。
选择 Create Project 为 Operator 创建新项目。
在 Create Project 对话框中,在必填字段中输入文本,然后单击 Create。
重要为提高安全性,更好地控制 Operator 生命周期,并防止潜在的权限升级,请在专用默认
rhdh-operator命名空间中安装 Red Hat Developer Hub Operator。您可以通过角色绑定或集群角色绑定限制其他用户对 Operator 资源的访问。您还可以通过创建所需资源(如 Operator 组)在另一个命名空间中安装 Operator。如需更多信息,请参阅 在自定义命名空间中安装全局 Operator。
但是,如果 Red Hat Developer Hub Operator 与其他 Operator 共享一个命名空间,则它也会共享相同的更新策略,从而导致自定义更新策略。例如,如果一个 Operator 设置为手动更新,Red Hat Developer Hub Operator 更新策略也会设置为 manual。如需更多信息,请参阅 在命名空间中重新定位 Operator。
为 Operator 选择 Update approval 方法。
- 如果选择 Automatic 选项,则 Operator 会被更新,而无需手动确认。
- 如果选择 Manual 选项,则当更新频道中发布新更新时,会打开通知。在开始安装前,管理员必须手动批准更新。
点 Install。
注意如果选择了手动批准策略,订阅的升级状态将保持在 Upgrading 状态,直至您审核并批准安装计划。在 Install Plan 页面中点 Approve 后,订阅升级状态将变为 Up to date。
如果选择了 Automatic 批准策略,升级状态会在不用人工参与的情况下变为 Up to date。
验证
- 在安装 Operator 后,OperatorHub 页面中的对话框会显示 Installed operator: ready for use 信息。
在对话框中执行以下操作之一:
- 点 View Operator 打开 Red Hat Developer Hub Operator 的 Operator 详情页。
单击 View all installed operators 以打开 Installed Operators 页面。
- 从安装的 Operator 列表中,找到 Red Hat Developer Hub Operator 名称和详情。
- 点 Red Hat Developer Hub Operator 打开 Red Hat Developer Hub Operator 的 Operator 详情页。
作为开发者,您可以使用 Red Hat OpenShift Container Platform Web 控制台中的 Developer Catalog 在 OpenShift Container Platform 上部署 Red Hat Developer Hub 实例。此部署方法使用 Red Hat Developer Hub Operator。
先决条件
-
您已将
app-config.yaml中的baseUrl设置为与 Developer Hub 实例的外部 URL 匹配。如果没有它,前端和后端服务无法通信,功能可能无法按预期工作。 - OpenShift Container Platform 管理员已安装了 Red Hat Developer Hub Operator。
-
您已在 <
my-rhdh-project> 项目中置备了自定义配置映射和 secret。 - 您已编写了 Backstage 自定义资源。
流程
-
在 OpenShift Container Platform web 控制台中,选择您的 <
;{my_product_namespace}> 项目,然后单击 Add。 - 在 Developer Catalog 面板中,单击 Operator Backed。
- 在 Filter by keyword 框中,输入 Developer Hub 并点 Red Hat Developer Hub 卡。
使用以下模板置备自定义配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用名为
app-config-rhdh的配置映射来提供app-config.yaml文件,以及用于服务到服务身份验证的 Secret (如BACKEND_SECRET)。要创建并应用这些配置资源,请按照为完整流程 置备自定义 Red Hat Developer Hub 配置 中的步骤操作。
注意app-config-rhdh配置映射必须包含您自定义的app-config.yaml文件。此配置映射在运行时挂载到 Developer Hub 容器中。创建名为
my-rhdh-secrets的 secret,并添加名为BACKEND_SECRET的键,其值为Base64 编码的字符串,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保您的机密包含
BACKEND_SECRET,用于服务到服务身份验证。有关结构和置备步骤,请参阅置备自定义 Red Hat Developer Hub 配置。- 点 Create。
- 添加 Backstage 自定义资源内容。
- 在 Create Backstage 页面上,单击 Create。
验证
pod 就绪后,您可以通过打开 URL 来访问 Red Hat Developer Hub 平台。
- 点 Topology 视图中的 pod 并确认 Details 面板中的 Status,以确认 pod 已就绪。当 pod 就绪时,pod 状态为 Active。
在 Topology 视图中,点 Developer Hub pod 上的 Open URL 图标。
您可以使用以下方法之一在 OpenShift Container Platform 上安装 Red Hat Developer Hub:
- OpenShift Container Platform 控制台
- Helm CLI
您可以使用 Helm Chart 在 Red Hat OpenShift Container Platform Web 控制台中安装 Developer Hub。
Helm 是 OpenShift Container Platform 上的软件包管理器,它提供以下功能:
- 使用自定义 hook 应用常规应用程序更新
- 管理复杂应用程序的安装
- 提供您可以在公共和私有服务器上托管的图表
- 支持回滚到以前的应用程序版本
Red Hat Developer Hub Helm Chart 位于 OpenShift Dedicated 和 OpenShift Container Platform 上的 Helm 目录中。
先决条件
- 已登陆到 OpenShift Container Platform 帐户。
-
具有 OpenShift Container Platform
admin角色的用户已在项目中配置了适当的角色和权限来创建应用程序。如需有关 OpenShift Container Platform 角色的更多信息,请参阅使用 RBAC 定义和应用权限。 - 您已在 OpenShift Container Platform 中创建了一个项目。有关在 OpenShift Container Platform 中创建项目的更多信息,请参阅 Red Hat OpenShift Container Platform 文档。
流程
- 从 Developer Hub web 控制台的 Developer 视角,点 +Add。
- 在 Developer Catalog 面板中点击 Helm Chart。
- 在 Filter by keyword 框中,输入 Developer Hub 并点 Red Hat Developer Hub 卡。
- 在 Red Hat Developer Hub 页面中,单击 Create。
-
在集群中,复制 OpenShift Container Platform 路由器主机(例如:
apps.<clusterName>.com)。 选择单选按钮,以使用表单视图或 YAML 视图来配置 Developer Hub 实例。Form 视图会被默认选择。
使用 Form view
- 要使用 Form 视图配置实例,请转至 Backstage 实例中 Root Schema → global → Enable service authentication,并将 OpenShift Container Platform 路由器主机粘贴到表单上的字段。
使用 YAML 视图
要使用 YAML 视图配置实例,请将 OpenShift Container Platform 路由器主机名粘贴到
global.clusterRouterBase参数值中,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果需要,请编辑其他值。
注意有关主机的信息被复制,并可以被 Developer Hub 后端访问。
当自动生成 OpenShift Container Platform 路由时,路由的主机值会被推断出来,同一主机信息发送到 Developer Hub。另外,如果在自定义域上存在 Developer Hub,通过使用值手动设置主机,则自定义主机具有优先权。
- 点 Create 并等待数据库和 Developer Hub 启动。
点 Open URL 图标以使用 Developer Hub 平台启动。
如果 Developer Hub 容器无法访问配置文件,则 developer-hub Pod 可能会处于 CrashLoopBackOff 状态。这个错误由以下日志表示:
Loaded config from app-config-from-configmap.yaml, env ... 2023-07-24T19:44:46.223Z auth info Configuring "database" as KeyStore provider type=plugin Backend failed to start up Error: Missing required config value at 'backend.database.client'
Loaded config from app-config-from-configmap.yaml, env
...
2023-07-24T19:44:46.223Z auth info Configuring "database" as KeyStore provider type=plugin
Backend failed to start up Error: Missing required config value at 'backend.database.client'
要解决错误,请验证配置文件。
您可以使用 Helm CLI 在 Red Hat OpenShift Container Platform 上安装 Red Hat Developer Hub。
先决条件
-
已在工作站上安装了 OpenShift CLI (
oc)。 - 已登陆到 OpenShift Container Platform 帐户。
- 具有 OpenShift Container Platform admin 角色的用户已在项目中配置了适当的角色和权限来创建应用程序。如需有关 OpenShift Container Platform 角色的更多信息,请参阅使用 RBAC 定义和应用权限。
- 您已在 OpenShift Container Platform 中创建了一个项目。有关在 OpenShift Container Platform 中创建项目的更多信息,请参阅 Red Hat OpenShift Container Platform 文档。
- 已安装 Helm CLI 工具。
流程
创建并激活 < my-rhdh-project> OpenShift Container Platform 项目:
NAMESPACE=<emphasis><rhdh></emphasis> oc new-project ${NAMESPACE} || oc project ${NAMESPACE}NAMESPACE=<emphasis><rhdh></emphasis> oc new-project ${NAMESPACE} || oc project ${NAMESPACE}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 Red Hat Developer Hub Helm Chart:
helm upgrade redhat-developer-hub -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgz
helm upgrade redhat-developer-hub -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 OpenShift Container Platform 集群中的 Developer Hub 数据库密码和路由器基本 URL 值配置 Developer Hub Helm Chart 实例:
PASSWORD=$(oc get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d) CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') helm upgrade redhat-developer-hub -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgz" \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \ --set global.postgresql.auth.password="$PASSWORD"PASSWORD=$(oc get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d) CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') helm upgrade redhat-developer-hub -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgz" \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \ --set global.postgresql.auth.password="$PASSWORD"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示正在运行的 Developer Hub 实例 URL:
echo "https://redhat-developer-hub-$NAMESPACE.$CLUSTER_ROUTER_BASE"
echo "https://redhat-developer-hub-$NAMESPACE.$CLUSTER_ROUTER_BASE"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
- 在浏览器中打开正在运行的 Developer Hub 实例 URL,以使用 Developer Hub。
其他资源