跳至内容

Knative 和 Backstage

发布时间:2024-04-03 ,  修订时间:2024-09-23

Knative 和 Backstage

作者:Ali Ok,Red Hat 首席软件工程师

愿景是什么?

Backstage 是一个用于构建开发者门户的平台。它提供了一种统一的方式来管理和可视化开发人员在日常工作中使用的不同资源。

虽然 Backstage 不是作为下一代 Kubernetes 仪表板设计的,但它可以可视化和部分管理 Knative 资源。这些资源将是只读的,并且侧重于与开发人员相关的方面。

插件和后端

插件是 Backstage 插件的前端部分。它们负责呈现 UI 并与后端通信。后端负责与 Kubernetes API 服务器通信,并向前端提供必要的 정보。目前,我们只有一个插件,它需要一个后端才能工作。我们认为,将来我们可能提供的多数插件都需要后端-为-前端才能工作。

事件网格插件

事件网格插件 是一个 Backstage 插件,允许您查看和管理 Knative 事件资源。该插件与运行在 Kubernetes 集群中的特殊后端通信,并与 Kubernetes API 服务器通信。

该插件利用了 Backstage 的 实体提供程序实体处理器 概念。实体提供程序负责从后端获取资源,实体处理器负责处理资源并将它们提供给前端。提供程序是与自定义后端通信的部分。

该插件从后端获取 Knative EventType、Broker 和 Trigger 资源。它不会直接获取原始 Kubernetes 资源,而是会收集更用户友好的数据表示。这意味着某些字段被排除,某些字段被合并以提高清晰度,而其他字段被转换以在这个界面中更容易理解。

在 Backstage 中显示为 API 的 Knative EventTypes

Knative Triggers 可以指向任何 可寻址 甚至直接指向 URL。由于 Backstage 方面不知道如何处理这些,因此该插件只会显示触发器的订阅者,如果它已在 Backstage 中注册。为了这种关系,我们使用 backstage.io/kubernetes-id 注解在 Backstage 实体和 Kubernetes 资源中。

匹配方式在 事件网格插件自述文件 中以图表形式进行了说明。

这种集成的真正妙处在于 Backstage 显示图表的能力。例如,您可以在图表中查看 EventTypes、Brokers 和 Trigger 订阅者之间的关系。

Backstage 中的图表

演示和快速入门

如果您想查看该插件的实际运行情况,可以 安装 您 Kubernetes 集群中的后端和 Backstage 实例中的插件。

但是,为了更快地了解该插件,您可以查看 演示视频。演示视频是在 Ali Ok 的 演示存储库 中提供的快速入门中记录的。

欢迎贡献

我们正在寻找贡献者来帮助我们改进插件和后端。如果您有兴趣贡献,请查看插件存储库的 自述文件。如何启动后端、如何安装插件以及如何修改插件都在其中进行了说明。

有一些问题被标记为良好的第一个问题,我们希望得到帮助。如果您有兴趣贡献,请查看 良好的第一个问题

下一步

我们正在探索添加更多功能以将 Backstage 与 Knative 集成的可能性。其中一个方面是重新使用 Knative 函数 模板作为 Backstage 模板。这将允许开发人员从 Backstage 创建新的 Knative 函数并从那里管理它们,同时与 Func CLI 兼容。

联系

如果您有任何问题或反馈,请随时与我们联系。您可以在 CNCF Slack 中的 #knative 频道找到我们。

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,用于此目的。了解更多。