Kubernetes 上的事件方格與 Azure Arc (預覽) - 概觀

本文提供 Kubernetes 上的事件方格概觀、其使用案例、提供的功能,以及它與Azure 事件方格有何不同。

重要

Kubernetes 上的事件方格與 Azure Arc 目前為公開預覽狀態。 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

何謂 Event Grid?

事件方格是用來整合使用事件驅動架構之工作負載的事件代理程式。 事件驅動架構會使用事件來傳達系統狀態變更中的發生次數,而且是分離架構中的常見整合方法,例如使用微服務的架構。 事件方格提供 pub-sub,其也會描述為發送推播的通訊模型,其中訂閱者會傳送(推送)事件,而且這些訂閱者不一定知道傳送事件的發行者。 此模型與傳統推送提取模型形成對比,例如Azure 服務匯流排或Azure 事件中樞所使用的模型,其中用戶端會從訊息代理程式提取訊息,因此訊息代理程式與取用用戶端之間有更緊密的結合。

事件方格提供兩種版本: Azure 事件方格 、Azure 上完全受控的 PaaS 服務,以及 Kubernetes 上的 Event Grid 與 Azure Arc,可讓您在 Kubernetes 叢集上使用 Event Grid,無論部署、內部部署或雲端。

為了清楚起見,在本文中,我們會在參考一般服務功能時使用事件方格 一詞 ,而不論使用的版本為何。 我們指的是 Azure 事件方格 來參考 Azure 上裝載的受控服務。 為了簡潔起義,我們也 將 Kubernetes 上的事件方格與 Azure Arc 視為 Kubernetes 上的事件方格。

不論您使用的事件方格版本為何,都會有事件 發行者 將事件傳送至 Event Grid,以及一或多個 事件訂閱者 公開事件方格所傳遞事件的端點。 並非所有發行至事件方格的事件都必須傳遞至所有事件訂閱者。 事件方格可讓您透過事件訂 用帳戶中 定義的一組態設定,選取應該路由傳送至特定目的地的事件。 您可以使用事件訂用帳戶中的篩選,將特定事件路由傳送至一個端點或多播至多個端點。 事件方格也提供可靠的傳遞機制,並提供重試邏輯。 事件方格也以開放式標準為基礎,並支援 雲端事件 1.0 架構規格

透過 Azure Arc 的 Kubernetes 上的事件方格

Kubernetes 上的事件方格與 Azure Arc 是一項供應專案,可讓您在自己的 Kubernetes 叢集上執行事件方格。 此功能是透過使用 已啟用 Azure Arc 的 Kubernetes 來啟用。 透過已啟用 Azure Arc 的 Kubernetes, 支援的 Kubernetes 叢集 會連線到 Azure。 連線之後,您就可以 在上面安裝事件方格

使用案例

Kubernetes 上的事件方格支援各種事件驅動整合案例。 不過,支援並以使用者劇本表示的主要包含案例如下:

「身為部署至 Kubernetes 叢集之系統的擁有者,我想藉由發佈事件及設定這些事件的路由來傳達系統的狀態變更,如此一來,在我的控制下或其他情況下,事件處理常式就可以以符合系統的方式處理我的事件。

可協助您瞭解上述需求的功能 事件方格主題

Kubernetes 上的事件方格一目了然

從使用者的觀點來看,Kubernetes 上的事件方格是由藍色的下列資源所組成:

Resources

  • 主題 是一種輸入通道,可公開發行者將事件傳送至事件方格的端點。
  • 事件訂用帳戶 是資源,其中包含組態設定,可篩選事件,並將事件路由傳送至傳遞事件的目的地。
  • 事件 是狀態變更的公告。
  • 事件處理常式 是接收事件並以某種方式回應或處理事件的應用程式或服務。 有時候,我們也會將事件處理常式 稱為事件訂閱者 。 在圖表中,事件處理常式是部署至 Kubernetes 叢集 (K8s) 和 Azure 服務匯流排 服務的 API。

如需這些概念的詳細資訊,請參閱 Azure 事件方格 中的概念。

範例工作負載整合案例和目的地

您可以整合叢集上執行的工作負載。 您的發行者可以是在 Kubernetes 叢集上執行的任何服務,或任何可存取發行者傳送事件之主題端點(由事件方格代理程式所裝載)的工作負載。

Intra-cluster integration

您也可以將發行者部署到網路中其他地方,將事件傳送至部署至其中一個 Kubernetes 叢集的事件方格:

In-network integration

使用 Kubernetes 上的事件方格,您可以將事件轉送至 Azure,以進一步處理、儲存體或視覺效果:

Forward events to Azure

目的地

事件處理常式目的地可以是事件方格可以透過網路、公用或私人連線到的任何 HTTPS 或 HTTP 端點,而且具有存取權(不受某些驗證機制保護)。 當您建立事件訂閱時,您可以定義事件傳遞目的地。 如需詳細資訊,請參閱 事件處理常式

功能

Kubernetes 上的事件方格支援 事件方格主題 ,這是Azure 事件方格 也提供 的功能。 事件方格主題可協助您瞭解 主要整合使用案例 ,其中您的需求會呼叫整合您的系統與您擁有或其他可供系統存取的另一個工作負載。

您在 Kubernetes 上取得的一些Azure 事件方格功能包括:

  • 事件篩選 :篩選事件種類、事件主旨或事件資料,以確保事件處理常式只接收相關事件。
  • 展開 :訂閱相同事件的數個端點,以將事件的複本傳送到許多位置。
  • 根據開放式標準 :使用NCF 的 雲端事件 1.0 架構規格 來定義您的事件。
  • 可靠性 :事件方格具有重試事件傳遞邏輯,可確保事件到達目的地。

如需詳細資訊,請參閱 Kubernetes 上的事件方格所支援的功能。

定價

Kubernetes 與 Azure Arc 上的事件方格會在預覽版本期間免費提供。

下一步

請遵循下列步驟,以在 Kubernetes 上使用事件方格開始路由事件。

  1. 將叢集連線至 Azure Arc
  2. 安裝事件方格擴充功能 ,這是將事件方格部署到 Kubernetes 叢集的實際資源。 若要深入瞭解擴充功能,請參閱 事件方格延伸模組 一節以深入瞭解。
  3. 建立自訂位置 。 自訂位置代表叢集中的命名空間,而它是主題和事件訂閱部署的位置。
  4. 建立主題和一或多個事件訂閱
  5. 發佈事件

以下是您可以使用的更多資源: