透過 Pub/Sub 接收叢集通知


本頁說明如何使用 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,取得最新版本。

在新叢集上啟用叢集通知

您可以使用 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" 只會傳送 UpgradeEventSecurityBulletinEvent 通知, 忽略所有其他類型。

控制台

如要在新的標準叢集上啟用叢集通知,請執行下列操作:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 按一下「 Create」(建立)

  3. 在「建立叢集」對話方塊中,點選「GKE Standard」旁的「設定」

  4. 在導覽窗格的「叢集」部分中,按一下「自動化」

  5. 勾選「啟用通知」核取方塊。

  6. 從下拉式清單中選取您建立的 Pub/Sub 主題。

  7. 如要篩選通知,請選取「篩選通知類型」核取方塊,然後選取要接收的通知類型。

  8. 繼續設定叢集。

  9. 點選「建立」

啟用通知後,請選擇主題的訂閱類型

在現有叢集上啟用叢集通知

您可以使用 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" 只會傳送 UpgradeEventSecurityBulletinEvent 通知, 忽略所有其他類型。

控制台

如要在現有叢集上啟用叢集通知,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 按一下您要修改的叢集名稱。

  3. 在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下 「Edit notifications」(編輯通知)

  4. 在「編輯通知」對話方塊中,勾選「啟用通知」核取方塊。

  5. 從下拉式清單中選取您建立的 Pub/Sub 主題。

  6. 如要篩選通知,請選取「篩選通知類型」核取方塊,然後選取要接收的通知類型。

  7. 按一下 [儲存變更]。

啟用通知後,請選擇主題的訂閱類型

篩選叢集通知

你可以依通知類型篩選通知,確保收到需要的通知。

您可以選擇使用下列方法篩選通知:

  • 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 控制台停用篩選器,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 按一下您要修改的叢集名稱。

  3. 在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下 「Edit notifications」(編輯通知)

  4. 在「編輯通知」對話方塊中,取消勾選「篩選通知類型」核取方塊。

  5. 按一下 [儲存變更]。

確認叢集通知設定

在 Autopilot 模式中,您可以透過下列方式驗證叢集通知:

  1. 啟動控制層升級
  2. 等待 GKE 自動將節點升級至新版本。實際所需時間可能因設定的維護期間和排除時段而異。
  3. GKE 升級節點後,請檢查 Pub/Sub 訂閱項目

在「標準」模式中,您可以按照下列步驟驗證叢集通知:

  1. 將特定節點集區升級至新版本。 如果不想變更節點上的 GKE 版本,可以升級至節點目前使用的版本。

  2. 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 控制台停用通知,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 按一下您要修改的叢集名稱。

  3. 在「Automation」(自動化) 區段中,找到「Notifications」(通知),然後按一下 「Edit notifications」(編輯通知)

  4. 在「編輯通知」對話方塊中,取消勾選「啟用通知」核取方塊。

  5. 按一下 [儲存變更]。

(選用) 刪除您為通知建立的 Pub/Sub 主題

後續步驟