接收集群通知

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

概览

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

如需详细了解集群通知的优势、通知的工作原理以及过滤的重要性,请参阅集群通知

准备工作

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

  • 确保您已启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 确保您已安装 Google Cloud CLI
  • 使用以下某种方法为您的项目设置默认 Google Cloud CLI 设置:
    • 使用 gcloud init(如果您想要在系统引导下完成项目默认设置)。
    • 使用 gcloud config(如果您想要单独设置项目 ID、可用区和区域。

    gcloud init

    1. 运行 gcloud init 并按照说明操作:

      gcloud init

      如果您要在远程服务器上使用 SSH,请使用 --console-only 标志来防止命令启动浏览器:

      gcloud init --console-only
    2. 按照说明授权 gcloud CLI 使用您的 Google Cloud 帐号。
    3. 创建新配置或选择现有配置。
    4. 选择 Google Cloud 项目。
    5. 选择默认的 Compute Engine 可用区
    6. 选择默认的 Compute Engine 区域

    gcloud config

    1. 设置默认项目 ID
      gcloud config set project PROJECT_ID
    2. 设置默认的 Compute Engine 区域(例如 us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. 设置默认的 Compute Engine 可用区(例如 us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. gcloud 更新到最新版本:
      gcloud components update

    通过设置默认位置,您可以避免 gcloud CLI 中出现以下错误:One of [--zone, --region] must be supplied: Please specify location

在新集群上启用集群通知

您可以使用 Google Cloud CLI 或 Google Cloud Console 在新集群上启用 GKE 集群通知。

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. 转到 Cloud Console 中的 **Google Kubernetes Engine** 页面。转到 Google Kubernetes Engine 1. 点击 **创建**。
  1. 创建集群对话框中,点击 GKE 标准旁边的配置
  2. 在导航窗格的集群部分中,点击 Automation
  3. 选中启用通知复选框。
  4. 从下拉列表中选择您创建的 Pub/Sub 主题。
  5. 如需过滤通知,请选中过滤通知类型复选框,然后选择要接收的通知类型。

  6. 根据需要继续配置集群。

  7. 点击创建

启用通知后,为您的主题创建 Pub/Sub 订阅

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

您可以使用 Google Cloud CLI 或 Cloud Console 在现有集群上启用 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. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

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

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

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

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

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

  7. 点击保存更改

启用通知后,为您的主题创建 Pub/Sub 订阅

过滤集群通知

您可以按通知类型过滤通知,以确保收到所需的通知。

您可以选择使用以下方法过滤通知:

  • GKE:在 --notification-config 标志中指定 filter 的值,如先前启用集群通知的示例所示。
  • Pub/Sub:在创建订阅时配置 Pub/Sub 订阅以过滤消息

修改 GKE 中的现有过滤条件

如需修改现有 GKE 集群通知过滤条件,请按照在现有集群上启用通知中的说明进行操作,并在 gcloud 命令中指定要过滤的新通知类型或在 Cloud Console 中选择新类型。

在 GKE 中停用过滤条件

您可以使用 gcloud CLI 或 Cloud Console 停用 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

控制台

如需使用 Cloud Console 停用过滤条件,请执行以下操作:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

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

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

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

  5. 点击保存更改

验证集群通知的设置

如需验证是否已经为集群正确设置通知,可以启动节点池升级以查看是否发送了 UpgradeEvent 消息。您只能手动验证 UpgradeEvent 通知类型的设置。如果您的过滤条件配置为忽略此类型,则不会看到消息。

您可以使用 gcloud CLI 或 Cloud Console 手动升级特定节点池。如需查看相关说明,请参阅手动升级集群或节点池。如果您不想更改节点上的 GKE 版本,则可以升级到与当前节点相同的 GKE 版本。

启动升级后,检查您的 Pub/Sub 订阅以查看通知消息。

停用集群通知

您可以使用 gcloud CLI 或 Cloud Console 停用集群通知。

gcloud

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

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

控制台

如需使用 Cloud Console 停用通知,请执行以下操作:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面。

    转到 Google Kubernetes Engine

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

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

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

  5. 点击保存更改

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

后续步骤