在Backstage中集成Kubernetes
注意
本文档基于 Backstage 1.32.0 版本编写,并采用自 1.24.0 版本以来官方推荐使用的新后端系统(New BackEnd System)。Backstage 仍处于不断更新发展中,本文下述步骤可能将不适用于后续更新版本。
一、开发前准备
- 确认 Kubernetes 与 ArgoCD 能够互相 ping 通
- 确认 Kubernetes 与 Harbor 能够互相 ping 通
- 确认 Kubernetes 与 Backstage 服务能够互相 ping 通
- 集成参考文档:
二、在前端接入 Kubernetes 插件
(1)安装支持插件
从项目的根目录开始:
1 | yarn --cwd packages/app add @backstage/plugin-kubernetes |
(2)添加到合适的位置
编辑 packages/app/src/components/catalog/EntityPage.tsx:
1 | // ...other import |
其中的 refreshIntervalMs 属性为自动刷新的间隔;如果未设置,则默认为 10000ms。
(3)添加配置
编辑 examples/template/content/catalog-info.yaml:
1 | apiVersion: backstage.io/v1alpha1 |
在 catalog-info 文件中添加:
backstage.io/kubernetes-namespace标签:对应所创建项目被部署到的 Kubernetes namespacebackstage.io/kubernetes-id标签:对应所创建的项目的一个特征 ID 标识
综合起来,就是当我们浏览项目对应的 Kubernetes 信息页时,Backstage 将会到配置的 Kubernetes 集群中寻找上面指定的 namespace,并在 namespace 中寻找具备 backstage.io/kubernetes-id: XXXX(指定值)的 Pod,并将它的信息返回展示。backstage.io/kubernetes-id: XXXX 需要声明在创建 Pod 所需的 deployment.yaml 文档中(具体参考下文)。
此时我们将会在项目详情页中看到如下的展示:

我们还需要完成后端的集成以及配置,才能够获取到内容。
三、在后端接入 Kubernetes 依赖
(1)安装依赖
从项目的根目录开始:
1 | yarn --cwd packages/backend add @backstage/plugin-kubernetes-backend |
(2)添加依赖
编辑 packages/backend/src/index.ts:
1 | // Other plugins... |
(3)配置 Kubernetes 集群实例
编辑 app-config.yaml:
1 | kubernetes: |
这里的配置表示 Kubernetes 的集群的访问权限认证将通过 SA 形式进行,serviceAccountToken 的值在这里是 Kubernetes 最高管理员权限所对应的 SA_Token。这也是便于整个系统读取 Kubernetes 相关的信息。
更多的配置信息参见:Backstage 官方 | Configuring Kubernetes integration
到这里的话,最基本的集成就结束了。接下来将针对本系统的需求进行一些额外的补充。
四、为 ArgoCD 同步时的操作补充对应的 Kubernetes 配置文件
(1)创建配置文件
在 examples/template/content 文件夹下新建如下文件/文件夹:
1 | template/ |

其中 argocd-yaml 的命名对应创建 ArgoCD application 时所配置的 Kubernetes Pod 对应的配置文件在项目中的位置,也就是下图所示的部分:

如果手动创建 application 的话,就需要在红框中填写 argocd-yaml。ArgoCD 在同步时就会根据这个文件夹下的配置文件去读取/创建 Pod。
(2)配置文件编写参考
deployment.yaml:
1 | apiVersion: apps/v1 |
service.yaml:
1 | apiVersion: v1 |
其中,在 deployment.yaml 中声明 backstage.io/kubernetes-id 标签非常重要!
五、其他补充说明
(1)关于如何获取 Kubernetes 用户的无限期 token
注意
Kubernetes 自 1.24 版本起,关闭了创建用户时自动创建对应 token 的功能。
① 若 Kubernetes 版本低于 1.24,则可以通过执行下述命令获取:
1 | kubectl get secrets # 获取secrets |
② 若 Kubernetes 版本大于等于 1.24,则需要通过自行创建 Secret 配置文件获取,具体方法自行百度,此处不再赘述。
- 标题: 在Backstage中集成Kubernetes
- 作者: Zave
- 创建于 : 2026-09-05 12:00:00
- 更新于 : 2026-09-05 12:00:00
- 链接: https://zavex.cn/post/29562.html
- 版权声明: 版权所有 © Zave,禁止转载。