具有 Azure Arc 的 Kubernetes 上的事件方格 - 預覽

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

重要

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

何謂 Event Grid?

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

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

為了清楚起見,在本文中,我們在提到一般服務功能時會使用事件方格一詞,不論使用的版本為何。 我們使用 Azure 事件方格來指稱 Azure 上裝載的受控服務。 為求精簡,我們也會將具有 Azure Arc 的 Kubernetes 上的事件方格稱為 Kubernetes 上的事件方格

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

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

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

使用案例

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

「身為部署至 Kubernetes 叢集的系統擁有者,我想要藉由發佈事件並設定這些事件的路由來傳達系統的狀態變更,讓事件處理常式在我的控制下或其他方式處理系統的事件。」

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

Kubernetes 上的事件方格概覽

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

Resources

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

如需這些概念的詳細資訊,請參閱 Azure Event Grid 中的概念

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

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

Intra-cluster integration

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

In-network integration

透過 Kubernetes 上的事件方格,您可以將事件轉送至 Azure,以進一步處理、儲存或視覺化:

Forward events to Azure

目的地

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

功能

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

您在 Kubernetes 上使用 Azure 事件方格取得的一些功能如下:

  • 事件篩選:篩選事件類型、事件主旨或事件資料,以確定事件處理常式只會收到相關的事件。
  • 展開傳送:讓數個端點訂閱相同的事件,以便將事件的複本傳送到多個位置。
  • 以開放標準為基礎:使用 CNCF 的雲端事件 1.0 結構描述規格定義您的事件。
  • 可靠性:事件方格提供重試事件傳遞邏輯,可確保事件到達其目的地。

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

定價

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

下一步

依照下列步驟,使用 Kubernetes 上的事件方格開始路由事件。

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

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