1.2. 使用 Red Hat Developer Hub Operator 使用自定义配置运行 Developer Hub
要使用 Developer Hub Operator 使用自定义配置运行 Red Hat Developer Hub,请创建 Backstage 自定义资源(CR):
- 挂载自定义配置映射中置备的文件。
- 注入自定义 secret 中置备的环境变量。
先决条件
-
通过使用 OpenShift CLI (
oc),您可以访问开发人员权限,可以访问一个旨在包含 Developer Hub 实例的 OpenShift Container Platform 集群。 - 您的管理员已在集群中安装 Red Hat Developer Hub Operator。
-
您已在 <
my-rhdh-project> 项目中置备了自定义配置映射和 secret。
流程
在
my-rhdh-custom-resource.yaml文件中编写您的 Backstage CR,以使用您的自定义配置映射和 secret。最小
my-rhdh-custom-resource.yaml自定义资源示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 带有动态插件和 RBAC 策略配置映射的
my-rhdh-custom-resource.yaml自定义资源示例,以及外部 PostgreSQL 数据库 secret:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必填字段
- 不需要字段。您可以创建一个空的 Backstage CR,并使用默认配置运行 Developer Hub。
- 可选字段
spec.application.appConfig.configMaps- 输入您的配置映射名称列表。
在
my-rhdh-app-config配置映射中挂载文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
my-rhdh-app-config和rbac-policies配置映射中挂载文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.application.extraEnvs.envs(可选)输入不是 secret 的额外环境变量,如 代理环境变量。
注入
HTTP_PROXY、HTTPS_PROXY和NO_PROXY环境变量:Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.application.extraEnvs.secrets输入环境变量 secret 名称列表。
在 Red Hat Developer Hub secret 中注入环境变量:
spec: application: extraEnvs: secrets: - name: <my_product_secrets>spec: application: extraEnvs: secrets: - name: <my_product_secrets>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Developer Hub 和
my-rhdh-database-secretssecret 中注入环境变量:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意<my_product_secrets> 是您首选的 Developer Hub secret 名称,在 Developer Hub 中指定 secret 配置的标识符。spec.application.extraFiles.secrets输入您的证书文件 secret 名称和文件列表。
挂载
postgres-crt.pem、postgres-ca.pem和postgres-key.key文件,该文件包含在my-rhdh-database-certificates-secretssecret 中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.database.enableLocalDb启用或禁用本地 PostgreSQL 数据库。
禁用本地 PostgreSQL 数据库生成以使用外部 postgreSQL 数据库:
spec: database: enableLocalDb: falsespec: database: enableLocalDb: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在开发环境中,使用本地 PostgreSQL 数据库:
spec: database: enableLocalDb: truespec: database: enableLocalDb: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow spec.deployment- (可选) 输入您的部署配置。
应用 Backstage CR 来启动或更新 Developer Hub 实例:
oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-project
$ oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.1. 使用 Red Hat Developer Hub Operator 在自定义配置中挂载附加文件 复制链接链接已复制到粘贴板!
您可以使用 Developer Hub Operator 将额外文件(如 ConfigMap 或 Secret)挂载到首选位置的容器。
mountPath 字段指定 ConfigMap 或 Secret 挂载的位置。mount 的行为(无论是包含还是排除 subPath )取决于 key 或 mountPath 字段的规格。
-
如果没有指定
key和mountPath:每个键或值都挂载为带有subPath的文件名或内容。 -
如果使用或不使用
mountPath指定密钥:指定的key或 value 使用subPath挂载。 -
如果只指定
mountPath:包含所有键或值的目录,但没有subPath。
-
OpenShift Container Platform 不会自动更新使用
subPath挂载的卷。默认情况下,RHDH Operator 会监控这些 ConfigMap 或 Secret,并在发生更改时刷新 RHDH Pod。 - 为了安全起见,Red Hat Developer Hub 不授予 Operator Service Account 对 Secret 的读取访问权限。因此,不支持在不指定 mountPath 和 key 的情况下挂载 Secret 的文件。
先决条件
-
您可以使用 OpenShift CLI (
oc)访问包含 Developer Hub 实例的 OpenShift Container Platform 集群。 - 您的 OpenShift Container Platform 管理员已在 OpenShift Container Platform 中安装了 Red Hat Developer Hub Operator。
流程
在 OpenShift Container Platform 中,使用以下 YAML 代码创建 ConfigMap 或 Secret:
例 1.2. 最小
my-project-configmapConfigMap 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 1.3. 最小 Red Hat Developer Hub Secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
configMaps 名称的值设置为ConfigMap 或secret 名称,设置为BackstageCR 中的 Secret 名称。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
<my_product_secrets > 是您首选的 Developer Hub secret 名称,在 Developer Hub 中指定 secret 配置的标识符。