1.4. 为 Red Hat Developer Hub 安装和配置 Red Hat Developer Lightspeed
您必须为 RHDH 和 RCS sidecar 容器安装和配置 Developer Lightspeed。
先决条件
- 已登陆到 OpenShift Container Platform 帐户。
您有一个 RHDH 实例,如下所示之一:
流程
创建 RCS ConfigMap。
- 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
- 点 Create ConfigMaps。
在 Create ConfigMap 页面中,在 Configure via 中选择 YAML view 选项,并编辑该文件,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:通过在 RCS ConfigMap 中指定以下示例来配置
扩展 REST API 的 worker数量。ols_config: max_workers: _<number_of_workers>_ols_config: max_workers: _<number_of_workers>_Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Create。
为 RHDH ConfigMap 创建 Developer Lightspeed。
注意为 RHDH ConfigMap 创建专用的 Developer Lightspeed,而不是向现有的 RHDH 自定义应用程序配置文件添加额外的部分(例如
lightspeed-app-config.yaml)。创建两个文件可防止整个 RHDH ConfigMap 加载到 RCS 中。- 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
在 Create ConfigMap 页面中,选择 Configure via 中的 YAML view 选项,并添加以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 RHDH secret 文件创建 Developer Lightspeed。
- 在 OpenShift Container Platform Web 控制台中进入 Secrets。
- 点 Create > Key/value secret。
在 Create key/value secret 页面中,选择 Configure via 中的 YAML view 选项,并添加以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 Create。
在现有的动态插件 ConfigMap (如
dynamic-plugins-rhdh.yaml)中,为 RHDH 插件镜像添加 Developer Lightspeed,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的安装方法更新部署配置:
对于 Operator 安装的 RHDH 实例,请更新 Backstage 自定义资源(CR)。
在
spec.application.appConfig.configMaps部分中,为 RHDH 自定义应用程序配置添加 Developer Lightspeed,如下例所示:appConfig: configMaps: - name: lightspeed-app-config mountPath: /opt/app-root/srcappConfig: configMaps: - name: lightspeed-app-config mountPath: /opt/app-root/srcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
extraVolumes规格,使其包含 RCS ConfigMap,如下例所示:volumes: - configMap: name: rcsconfig name: rcsconfigvolumes: - configMap: name: rcsconfig name: rcsconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
volumeMounts规格以挂载 RCS ConfigMap,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:
envFrom: - secretRef: name: lightspeed-secretsenvFrom: - secretRef: name: lightspeed-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
deployment.patch.spec.template.spec.containers.env部分中,设置 RCS 环境变量,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您的 RHDH 容器通常已存在于您的 CR 中。您要添加第二个容器定义
road-core-sidecar作为 RCS sidecar。点击 Save。Pod 会自动重启。
带有 RCS 容器的 Backstage CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
对于 Helm 安装的 RHDH 实例,请更新您的 Helm Chart。
在'global.dynamic' 属性中添加动态插件配置,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 RHDH 自定义应用程序配置文件添加 Developer Lightspeed,如下例所示:
extraAppConfig: - configMapRef: lightspeed-app-config filename: app-config.yamlextraAppConfig: - configMapRef: lightspeed-app-config filename: app-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
extraVolumes部分,使其包含 RCS ConfigMap,如下例所示:extraVolumes: - configMap: name: rcsconfig name: rcsconfigextraVolumes: - configMap: name: rcsconfig name: rcsconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
extraVolumeMounts部分以挂载 RCS ConfigMap,如下例所示:extraVolumeMounts: - mountPath: /app-root/config/rcsconfig.yaml name: rcsconfigextraVolumeMounts: - mountPath: /app-root/config/rcsconfig.yaml name: rcsconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:
extraEnvVarsSecrets: - lightspeed-secretsextraEnvVarsSecrets: - lightspeed-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 RCS 镜像,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您的 RHDH 容器通常已存在于 Helm Chart 中。您要添加第二个容器定义
road-core-sidecar作为 RCS sidecar。- 点击 Save。
点 Helm upgrade。
带有 RCS 容器的 Helm chart 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过完成以下步骤,为您的不是管理员的用户定义权限和角色:
通过定义
rbac-policies.csv文件来配置所需的 RBAC 权限,如下例所示:p, role:default/_<your_team>_, lightspeed.chat.read, read, allow p, role:default/_<your_team>_, lightspeed.chat.create, create, allow p, role:default/_<your_team>_, lightspeed.chat.delete, delete, allow g, user:default/_<your_user>_, role:default/_<your_team>_
p, role:default/_<your_team>_, lightspeed.chat.read, read, allow p, role:default/_<your_team>_, lightspeed.chat.create, create, allow p, role:default/_<your_team>_, lightspeed.chat.delete, delete, allow g, user:default/_<your_user>_, role:default/_<your_team>_Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
rbac-policies.csv和rbac-conditional-policies.yaml文件上传到包含 RHDH 的 OpenShift Container Platform 项目中的rbac-policies配置映射。 更新 Backstage 自定义资源,以便从
rbac-policiesConfigMap 中挂载您的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅使用 外部文件管理授权。
验证
- 登录到您的 RHDH 实例。
- 在 Red Hat Developer Hub 导航菜单中,您可以看到并访问 Lightspeed 菜单项。单击此菜单可进入 RHDH 屏幕的 Developer Lightspeed。