1.4. 使用 Red Hat Developer Hub Operator 使用自定义配置运行 Developer Hub
要使用 Developer Hub Operator 使用自定义配置运行 Red Hat Developer Hub,请创建 Backstage 自定义资源(CR):
- 挂载自定义配置映射中置备的文件。
- 注入自定义 secret 中置备的环境变量。
先决条件
- 通过使用 Kubernetes CLI ('kubectl'),您可以访问面向 Developer Hub 实例的 GKE 集群的访问权限。
- 您的管理员已在集群中安装 Red Hat Developer Hub Operator。
-
您已在 <
my-rhdh-project> 项目中置备了自定义配置映射和 secret。 - 您有一个正常工作的默认存储类,如 EBS 存储附加组件,在 EKS 集群中配置。
流程
在
my-rhdh-custom-resource.yaml文件中编写您的 Backstage CR,以使用您的自定义配置映射和 secret。最小
my-rhdh-custom-resource.yaml自定义资源示例:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: my-rhdh-custom-resource spec: application: appConfig: mountPath: /opt/app-root/src configMaps: - name: my-rhdh-app-config extraEnvs: secrets: - name: <my_product_secrets> extraFiles: mountPath: /opt/app-root/src route: enabled: true database: enableLocalDb: true带有动态插件和 RBAC 策略配置映射的
my-rhdh-custom-resource.yaml自定义资源示例,以及外部 PostgreSQL 数据库 secret:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: <my-rhdh-custom-resource> spec: application: appConfig: mountPath: /opt/app-root/src configMaps: - name: my-rhdh-app-config - name: rbac-policies dynamicPluginsConfigMapName: dynamic-plugins-rhdh extraEnvs: secrets: - name: <my_product_secrets> - name: my-rhdh-database-secrets extraFiles: mountPath: /opt/app-root/src secrets: - name: my-rhdh-database-certificates-secrets key: postgres-crt.pem, postgres-ca.pem, postgres-key.key route: enabled: true database: enableLocalDb: false- 必填字段
- 不需要字段。您可以创建一个空的 Backstage CR,并使用默认配置运行 Developer Hub。
- 可选字段
spec.application.appConfig.configMaps- 输入您的配置映射名称列表。
在
my-rhdh-app-config配置映射中挂载文件:spec: application: appConfig: mountPath: /opt/app-root/src configMaps: - name: my-rhdh-app-config在
my-rhdh-app-config和rbac-policies配置映射中挂载文件:spec: application: appConfig: mountPath: /opt/app-root/src configMaps: - name: my-rhdh-app-config - name: rbac-policiesspec.application.extraEnvs.envs(可选)输入不是 secret 的额外环境变量,如 代理环境变量。
注入
HTTP_PROXY、HTTPS_PROXY和NO_PROXY环境变量:spec: application: extraEnvs: envs: - name: HTTP_PROXY value: 'http://10.10.10.105:3128' - name: HTTPS_PROXY value: 'http://10.10.10.106:3128' - name: NO_PROXY value: 'localhost,example.org'spec.application.extraEnvs.secrets输入环境变量 secret 名称列表。
在 Red Hat Developer Hub secret 中注入环境变量:
spec: application: extraEnvs: secrets: - name: <my_product_secrets>在 Red Hat Developer Hub 和
my-rhdh-database-secretssecret 中注入环境变量:spec: application: extraEnvs: secrets: - name: <my_product_secrets> - name: my-rhdh-database-secrets注意<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 中:spec: application: extraFiles: mountPath: /opt/app-root/src secrets: - name: my-rhdh-database-certificates-secrets key: postgres-crt.pem, postgres-ca.pem, postgres-key.keyspec.database.enableLocalDb启用或禁用本地 PostgreSQL 数据库。
禁用本地 PostgreSQL 数据库生成以使用外部 postgreSQL 数据库:
spec: database: enableLocalDb: false在开发环境中,使用本地 PostgreSQL 数据库:
spec: database: enableLocalDb: truespec.deployment- (可选) 输入您的部署配置。
应用 Backstage CR 来启动或更新 Developer Hub 实例:
$ oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-project