2.2. 自动 Operator 功能
您可以使用 Operator 自动化多个密钥过程来有效地配置 Backstage 应用程序。
2.2.1. 元数据生成 复制链接链接已复制到粘贴板!
Operator 在运行时为所有默认资源自动生成特定的元数据值,以确保 Backstage 应用程序正常工作。
对于所有默认资源,metadata.name 根据默认配置文件 中定义的规则生成,特别是 Resource name 列。例如,名为 mybackstage 的 Backstage 自定义资源(CR)会创建名为 backstage-mybackstage 的 Kubernetes Deployment 资源。
每个资源都会生成以下元数据:
deployment.yaml-
spec.selector.matchLabels[rhdh.redhat.com/app] = backstage-{cr-name} -
spec.template.metadata.labels[rhdh.redhat.com/app] = backstage-{cr-name}
-
service.yaml-
spec.selector[rhdh.redhat.com/app] = backstage-{cr-name}
-
db-statefulset.yaml-
spec.selector.matchLabels[rhdh.redhat.com/app] = backstage-psql-{cr-name} -
spec.template.metadata.labels[rhdh.redhat.com/app] = backstage-psql-{cr-name}
-
db-service.yaml-
spec.selector[rhdh.redhat.com/app] = backstage-psql-{cr-name}
-
2.2.2. 多个资源 复制链接链接已复制到粘贴板!
您可以在单个 YAML 文件中定义并创建同一类型的多个资源。这适用于作为资源表中 的列表 的任何资源类型。要定义多个资源,请使用 --- 分隔符来分隔各个资源定义。
例如,将以下代码 snip 添加到 pvcs.yaml 创建两个 PersistentVolumeClaims (PVC),名为 backstage-{cr-name}-myclaim1 和 backstage-{cr-name}-myclaim2,并相应地将它们挂载到 Backstage 容器。
创建多个 PVC 示例
2.2.3. 默认基本 URL 复制链接链接已复制到粘贴板!
Operator 会在默认 app-config ConfigMap 中自动设置 Backstage 应用程序的基本 URL,称为 backstage-appconfig-{CR_name}。Operator 根据您的 Route 参数和 OpenShift 集群入口域进行此操作。
Operator 遵循这些规则来为应用程序设置基本 URL:
- 如果集群不是 OpenShift,Operator 不会进行任何更改。
-
如果将自定义资源(CR)中的
spec.application.route.enabled字段设置为false,则不会进行任何更改。 -
如果您在 Backstage CR 中定义
spec.application.route.host,则基本 URL 被设置为https://<spec.application.route.host>。 -
如果您在 Backstage CR 中指定
spec.application.route.subdomain,则基本 URL 被设置为https://<spec.application.route.subdomain>.<cluster_ingress_domain>。 -
如果没有提供自定义主机或子域,Operator 会将基本 URL 设置为
https://backstage-{cr_name}-<namespace>.<cluster_ingress_domain>,这是创建的 Route 资源的默认域。
Operator 在默认的 app-config ConfigMap 中更新以下基本 URL:
-
app.baseUrl -
backend.baseUrl -
backend.cors.origin
您可以在最佳和 OpenShift 上执行这些操作。在错误或非 OpenShift 集群中,您仍然可以通过提供自定义 app-config ConfigMap 来覆盖这些默认值。