本頁說明如何使用 Pub/Sub 接收 Google Kubernetes Engine (GKE) 叢集的通知。
GKE 預設會將這些通知轉送至 Cloud Logging。您可以運用 Cloud Logging 的所有功能,包括查詢及查看記錄,以及設定以記錄為準的快訊政策。如要在 Cloud Logging 中查看這些記錄,請參閱在 Cloud Logging 中查看叢集通知。
總覽
發生與 GKE 叢集相關的特定事件時 (例如重要排程升級或可用的安全性公告),GKE 會以訊息的形式將這些事件的通知發布至您設定的 Pub/Sub 主題。您可以透過 Pub/Sub 訂閱項目接收這類通知、整合第三方服務,並篩選需要的通知類型。
如要進一步瞭解叢集通知的優點、通知的運作方式,以及篩選的重要性,請參閱「叢集通知」。您可以在新舊 Standard 叢集中設定叢集通知,也可以更新現有的 Autopilot 叢集。
事前準備
開始之前,請確認你已完成下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update
,取得最新版本。
- 在專案中建立 Pub/Sub 主題。
在新叢集上啟用叢集通知
您可以使用 Google Cloud CLI 或 Google Cloud console,在新版叢集上啟用 GKE 叢集通知。如要在 Autopilot 叢集上啟用通知,請先建立 Autopilot 叢集,然後更新叢集以使用叢集通知。
gcloud
如要在新叢集上啟用叢集通知,請執行下列指令:
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
更改下列內容:
CLUSTER_NAME
:新叢集的名稱。CONTROL_PLANE_LOCATION
:叢集控制層的 Compute Engine 位置。為地區叢集提供地區,或為區域叢集提供區域。PROJECT_ID
:您的 Google Cloud 專案 ID。TOPIC_NAME
:Pub/Sub 主題的名稱。NOTIFICATION_TYPE
:以直立線符號 (|) 分隔的清單,列出您想接收的通知類型。舉例來說,filter="UpgradeEvent|SecurityBulletinEvent"
只會傳送UpgradeEvent
和SecurityBulletinEvent
通知, 忽略所有其他類型。
控制台
如要在新的標準叢集上啟用叢集通知,請執行下列操作:
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下「add_box Create」(建立)。
在「建立叢集」對話方塊中,點選「GKE Standard」旁的「設定」。
在導覽窗格的「叢集」部分中,按一下「自動化」。
勾選「啟用通知」核取方塊。
從下拉式清單中選取您建立的 Pub/Sub 主題。
如要篩選通知,請選取「篩選通知類型」核取方塊,然後選取要接收的通知類型。
繼續設定叢集。
點選「建立」。
啟用通知後,請選擇主題的訂閱類型。
在現有叢集上啟用叢集通知
您可以使用 Google Cloud CLI 或 Google Cloud 控制台,在現有叢集上啟用 GKE 叢集通知。
gcloud
如要在現有叢集上啟用叢集通知,請執行下列指令:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
更改下列內容:
CLUSTER_NAME
:叢集名稱。CONTROL_PLANE_LOCATION
:叢集控制層的 Compute Engine 位置。為地區叢集提供地區,或為區域叢集提供區域。PROJECT_ID
:您的 Google Cloud 專案 ID。TOPIC_NAME
:Pub/Sub 主題的名稱。NOTIFICATION_TYPE
:以直立線符號 (|) 分隔的清單,列出您想接收的通知類型。舉例來說,filter="UpgradeEvent|SecurityBulletinEvent"
只會傳送UpgradeEvent
和SecurityBulletinEvent
通知, 忽略所有其他類型。
控制台
如要在現有叢集上啟用叢集通知,請執行下列步驟:
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下您要修改的叢集名稱。
在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下
「Edit notifications」(編輯通知)。在「編輯通知」對話方塊中,勾選「啟用通知」核取方塊。
從下拉式清單中選取您建立的 Pub/Sub 主題。
如要篩選通知,請選取「篩選通知類型」核取方塊,然後選取要接收的通知類型。
按一下 [儲存變更]。
啟用通知後,請選擇主題的訂閱類型。
篩選叢集通知
你可以依通知類型篩選通知,確保收到需要的通知。
您可以選擇使用下列方法篩選通知:
- GKE:在
--notification-config
旗標中指定filter
的值,如先前啟用叢集通知的範例所示。 - Pub/Sub:建立訂閱項目時,請設定 Pub/Sub 訂閱項目來篩選訊息。
修改 GKE 中的現有篩選器
如要修改現有的 GKE 叢集通知篩選器,請按照「在現有叢集上啟用通知」一節中的指示操作,並在 gcloud
指令中指定要篩選的新通知類型,或在 Google Cloud 控制台中選取新類型。
在 GKE 中停用篩選器
您可以使用 gcloud CLI 或 Google Cloud 控制台,停用 GKE 通知篩選器,並接收適用於叢集的所有通知類型。
gcloud
如要使用 gcloud CLI 停用篩選器,請執行下列指令:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME
控制台
如要使用 Google Cloud 控制台停用篩選器,請執行下列步驟:
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下您要修改的叢集名稱。
在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下
「Edit notifications」(編輯通知)。在「編輯通知」對話方塊中,取消勾選「篩選通知類型」核取方塊。
按一下 [儲存變更]。
確認叢集通知設定
在 Autopilot 模式中,您可以透過下列方式驗證叢集通知:
- 啟動控制層升級。
- 等待 GKE 自動將節點升級至新版本。實際所需時間可能因設定的維護期間和排除時段而異。
- GKE 升級節點後,請檢查 Pub/Sub 訂閱項目。
在「標準」模式中,您可以按照下列步驟驗證叢集通知:
將特定節點集區升級至新版本。 如果不想變更節點上的 GKE 版本,可以升級至節點目前使用的版本。
GKE 升級節點後,請檢查 Pub/Sub 訂閱項目。
你只能手動驗證 UpgradeEvent
通知類型的設定。如果篩選器已設為忽略這類郵件,您就不會看到郵件。
停用叢集通知
您可以使用 gcloud CLI 或Google Cloud 控制台停用叢集通知。
gcloud
如要使用 gcloud CLI 停用通知,請執行下列指令:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=DISABLED
控制台
如要使用 Google Cloud 控制台停用通知,請執行下列步驟:
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下您要修改的叢集名稱。
在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下
「Edit notifications」(編輯通知)。在「編輯通知」對話方塊中,取消勾選「啟用通知」核取方塊。
按一下 [儲存變更]。
(選用) 刪除您為通知建立的 Pub/Sub 主題。
後續步驟
- 進一步瞭解叢集通知。
- 瞭解如何設定 Pub/Sub 通知。
- 瞭解如何為第三方服務設定叢集通知。