接收集群通知


本页面介绍如何使用 Pub/Sub 接收有关 Google Kubernetes Engine (GKE) 集群的通知。

概览

当发生与 GKE 集群相关的特定事件时,例如重要的计划升级或可用安全公告,GKE 会将这些事件的通知作为消息发布到您配置的 Pub/Sub 主题。您可以在 Pub/Sub 订阅上接收这些通知,与第三方服务集成,并且可以过滤要接收的通知类型。

如需详细了解集群通知的优势、通知的工作原理以及过滤的重要性,请参阅集群通知。 您可以在新的和现有的标准集群中配置集群通知,还可以通过更新现有的 Autopilot 集群来配置集群通知。

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

在新集群上启用集群通知

您可以使用 Google Cloud CLI 或 Google Cloud 控制台在新标准集群上启用 GKE 集群通知。如需在 Autopilot 集群上启用通知,您必须先创建 Autopilot 集群,然后更新集群以使用集群通知

gcloud

如需在新集群上启用集群通知,请运行以下命令:

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE

替换以下内容:

  • CLUSTER_NAME:新集群的名称。
  • COMPUTE_REGION:新集群的计算区域。对于可用区级标准集群,请使用 --zone=COMPUTE_ZONE
  • 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. 创建集群对话框中,点击 GKE 标准旁边的配置

  4. 在导航窗格的集群部分中,点击 Automation

  5. 选中启用通知复选框。

  6. 从下拉列表中选择您创建的 Pub/Sub 主题。

  7. 如需过滤通知,请选中过滤通知类型复选框,然后选择要接收的通知类型。

  8. 继续配置集群。

  9. 点击创建

启用通知后,为您的主题选择订阅类型

在现有集群上启用集群通知

您可以使用 Google Cloud CLI 或 Google Cloud 控制台在现有集群上启用 GKE 集群通知。

gcloud

如需在现有集群上启用集群通知,请运行以下命令:

gcloud container clusters update CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE

替换以下内容:

  • CLUSTER_NAME:您的集群的名称。
  • COMPUTE_REGION:新集群的计算区域。对于可用区级标准集群,请使用 --zone=COMPUTE_ZONE
  • 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 部分的通知旁边,点击 修改通知

  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 \
  --region=COMPUTE_REGION \
  --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 部分的通知旁边,点击 修改通知

  4. 修改通知对话框中,清除过滤通知类型复选框。

  5. 点击保存更改

验证集群通知的设置

在 Autopilot 模式下,您可以按照以下步骤验证集群通知:

  1. 启动控制平面升级
  2. 等待 GKE 将您的节点自动升级到新版本。升级所用时间可能会因配置的维护窗口和排除项而异。
  3. 在 GKE 升级您的节点后,检查您的 Pub/Sub 订阅

在标准模式下,您可以按照以下步骤验证集群通知:

  1. 将特定节点池升级到新版本。如果您不想更改节点上的 GKE 版本,则可以升级到与当前节点相同的 GKE 版本。

  2. 在 GKE 升级您的节点后,检查您的 Pub/Sub 订阅

您只能手动验证 UpgradeEvent 通知类型的设置。如果您的过滤条件配置为忽略此类型,则不会看到消息。

停用集群通知

您可以使用 gcloud CLI 或 Google Cloud 控制台停用集群通知。

gcloud

如需使用 gcloud CLI 停用通知,请运行以下命令:

gcloud container clusters update CLUSTER_NAME \
  --region=COMPUTE_REGION \
  --notification-config=pubsub=DISABLED

控制台

如需使用 Google Cloud 控制台停用通知,请执行以下操作:

  1. 转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

  2. 点击要修改的集群的名称。

  3. Automation 部分的通知旁边,点击 修改通知

  4. 修改通知对话框中,清除启用通知复选框。

  5. 点击保存更改

(可选)删除您为通知创建的 Pub/Sub 主题

后续步骤