Skip to content

Backstage IDP 测验

  1. 在 Backstage Software Catalog 中,用于注册微服务的 Entity Kind 是哪个?
    • A) Service
    • B) Component
    • C) Application
    • D) Workload
显示答案

答案:B) Component

解释: 在 Backstage Software Catalog 中,微服务、网站和库都会注册为 Component Kind。spec.type 字段用于区分 service、website、library 等。


  1. Backstage Software Templates (Golden Paths) 的主要用途是什么?
    • A) 监控现有服务性能
    • B) 以标准化方式自动创建新服务/基础设施
    • C) 审计 Kubernetes 集群安全性
    • D) 监控 CI/CD pipelines
显示答案

答案:B) 以标准化方式自动创建新服务/基础设施

解释: Software Templates (Golden Paths) 允许开发者在 Backstage UI 中输入少量参数,并自动生成标准化的项目结构(Dockerfile、Helm chart、CI/CD、catalog-info.yaml 等),从而自然地应用组织最佳实践。


  1. 要在 Backstage 中显示 Kubernetes Pod 状态,catalog-info.yaml 中需要哪个 annotation?
    • A) kubernetes.io/pod-name
    • B) backstage.io/kubernetes-id
    • C) app.kubernetes.io/managed-by
    • D) backstage.io/k8s-cluster
显示答案

答案:B) backstage.io/kubernetes-id

解释:backstage.io/kubernetes-id annotation 由 Backstage Kubernetes plugin 用于将 catalog entities 与 Kubernetes resources 进行匹配。该值必须与 Kubernetes Deployment 上的 backstage.io/kubernetes-id label 匹配。


  1. 在 EKS 生产环境中,最适合 Backstage 的 PostgreSQL 设置是什么?
    • A) 内置 SQLite
    • B) 集群内 PostgreSQL StatefulSet
    • C) Amazon RDS PostgreSQL(外部托管)
    • D) DynamoDB
显示答案

答案:C) Amazon RDS PostgreSQL(外部托管)

解释: 生产环境应使用 Amazon RDS 这样的托管数据库,以获得自动备份、高可用性(Multi-AZ)和监控能力。在 Helm values 中设置 postgresql.enabled: false,并通过 Secrets 提供外部 RDS 连接详细信息。


  1. Backstage TechDocs 使用哪个文档构建工具?
    • A) Docusaurus
    • B) GitBook
    • C) MkDocs
    • D) Sphinx
显示答案

答案:C) MkDocs

解释: Backstage TechDocs 基于 MkDocs 构建。它从服务 repo 的 docs/ 目录和 mkdocs.yml 文件生成文档,发布到 S3 等存储,并使其可直接从 catalog 访问。


  1. 在逐步采用 Backstage 时,应该从哪个功能开始?
    • A) Software Templates
    • B) Software Catalog
    • C) TechDocs
    • D) RBAC Permission Framework
显示答案

答案:B) Software Catalog

解释: Software Catalog 是 Backstage 的基础,所有其他功能都建立在其之上。先注册组织的服务、APIs 和团队信息,然后再逐步添加 Templates 和 TechDocs。


  1. Backstage Software Template 如何同时自动完成 GitHub repo 创建和 ArgoCD Application 创建?
    • A) Backstage 直接调用 Kubernetes API
    • B) Template steps 按顺序执行 publish:github 和 argocd:create-resources actions
    • C) GitHub Webhooks 自动触发 ArgoCD
    • D) Helm chart 包含所有 resources
显示答案

答案:B) Template steps 按顺序执行 publish:github 和 argocd:create-resources actions

解释: Backstage Scaffolder 会按顺序执行 Template 的 steps section 中定义的 actions。publish:github 创建 repo,并将其输出(remoteUrl)作为输入传递给 argocd:create-resources,以自动创建 ArgoCD Application。最后,catalog:register 会将其添加到 catalog。


  1. 在 Backstage Permission Framework 中,如何限制团队只能修改自己的 entities?
    • A) Kubernetes RBAC ClusterRole
    • B) 在 policy 中使用 conditions field 匹配 spec.owner
    • C) GitHub repository permissions
    • D) Ingress network policies
显示答案

答案:B) 在 policy 中使用 conditions field 匹配 spec.owner

解释: Backstage Permission Framework policy 的 conditions field 可以匹配 spec.owner 等于团队名称的 entities,从而仅授予团队更新其自有 entities 的权限。这样既保持团队自主性,又将其他团队 entities 的修改权限限制为只读。