跳至內容

Knative 和 Backstage

發佈於:2024-04-03 ,  修訂於:2024-09-23

Knative 和 Backstage

作者:Ali Ok,Red Hat 的首席軟體工程師

願景是什麼?

Backstage 是一個用於建構開發人員入口網站的平台。它提供了一個統一的方式來管理和視覺化開發人員在日常工作中使用到的各種資源。

雖然 Backstage 並非設計為下一代 Kubernetes 儀表板,但它可以視覺化並部分管理 Knative 資源。這些資源將是唯讀的,並專注於與開發人員相關的內容。

外掛程式和後端

外掛程式是 Backstage 外掛程式的前端部分。它們負責渲染 UI 並與後端通訊。後端負責與 Kubernetes API 伺服器通訊,並向前端提供必要的資訊。目前,我們只有一個外掛程式,它需要一個後端才能運作。我們認為,我們未來可能會提供的大多數外掛程式都需要一個前端後端才能運作。

事件網格外掛程式

事件網格外掛程式 是一個 Backstage 外掛程式,可讓您檢視和管理 Knative Eventing 資源。外掛程式會與 Kubernetes 叢集中運行的特殊後端通訊,並與 Kubernetes API 伺服器通訊。

此外掛程式利用 Backstage 的 實體提供者實體處理器概念。實體提供者負責從後端提取資源,而實體處理器則負責處理資源並使其可供前端使用。提供者是與自訂後端通訊的部分。

此外掛程式從後端提取 Knative EventType、Broker 和 Trigger 資源。它不是直接提取原始 Kubernetes 資源,而是收集更使用者友善的資料表示。這表示某些欄位會被排除,有些欄位會為了清楚起見而合併,而其他欄位則會經過轉換,以便在這個介面中更容易理解。

Knative EventTypes 在 Backstage 中顯示為 API

Knative Triggers 可以指向任何 Addressable,甚至直接指向 URL。由於 Backstage 端不知道如何處理這些,因此此外掛程式只會顯示觸發器的訂閱者,如果它已經在 Backstage 中註冊。對於此關係,我們使用 Backstage 實體和 Kubernetes 資源中的 backstage.io/kubernetes-id 註解。

事件網格外掛程式 README 檔案中,以圖表記錄了比對工作的方式。

此整合的真正酷炫之處在於 Backstage 顯示圖表的能力。例如,您可以在圖表中看到 EventTypes、Brokers 和 Trigger 訂閱者之間的關係。

Backstage 中的圖表

示範和快速入門

如果您想查看實際運作的外掛程式,可以在 Kubernetes 叢集中安裝後端,並在 Backstage 執行個體中安裝外掛程式。

不過,如需快速瀏覽外掛程式,您可以查看示範影片。示範影片是使用 Ali Ok 的 示範存放庫中提供的快速入門來錄製的。

歡迎貢獻

我們正在尋找貢獻者來幫助我們改進外掛程式和後端。如果您有興趣貢獻,請查看外掛程式存放庫的 README 檔案。如何啟動後端、如何安裝外掛程式以及如何修改外掛程式都記錄在那裡。

有一些標記為「適合新手」的問題,我們正在尋求他們的協助。如果您有興趣貢獻,請查看 適合新手的問題。

下一步是什麼?

我們正在探索新增更多功能以將 Backstage 與 Knative 整合的可能性。這裡的一個方向是將 Knative 函式範本作為 Backstage 範本重複使用。這可讓開發人員從 Backstage 建立新的 Knative 函式並從那裡管理它們,同時與 Func CLI 保持相容性。

聯絡方式

如果您有任何問題或意見反應,請隨時與我們聯繫。您可以在 CNCF Slack#knative 頻道中找到我們。

我們使用分析和 Cookie 來了解網站流量。為此目的,關於您使用我們網站的資訊會與 Google 分享。了解更多。