本页面介绍如何使用 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
以获取最新版本。
- 在您的项目中创建 Pub/Sub 主题。
在新集群上启用集群通知
您可以使用 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"
仅发送UpgradeEvent
和SecurityBulletinEvent
通知,而忽略所有其他类型。
控制台
如需在新标准集群上启用集群通知,请执行以下操作:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击 add_box 创建。
在创建集群对话框中,点击 GKE 标准旁边的配置。
在导航窗格的集群部分中,点击 Automation。
选中启用通知复选框。
从下拉列表中选择您创建的 Pub/Sub 主题。
如需过滤通知,请选中过滤通知类型复选框,然后选择要接收的通知类型。
继续配置集群。
点击创建。
启用通知后,为您的主题选择订阅类型。
在现有集群上启用集群通知
您可以使用 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"
仅发送UpgradeEvent
和SecurityBulletinEvent
通知,而忽略所有其他类型。
控制台
如需在现有集群上启用集群通知,请执行以下操作:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,选中启用通知复选框。
从下拉列表中选择您创建的 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 \
--region=COMPUTE_REGION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME
控制台
如需使用 Google Cloud 控制台停用过滤条件,请执行以下操作:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,清除过滤通知类型复选框。
点击保存更改。
验证集群通知的设置
在 Autopilot 模式下,您可以按照以下步骤验证集群通知:
- 启动控制平面升级。
- 等待 GKE 将您的节点自动升级到新版本。升级所用时间可能会因配置的维护窗口和排除项而异。
- 在 GKE 升级您的节点后,检查您的 Pub/Sub 订阅。
在标准模式下,您可以按照以下步骤验证集群通知:
将特定节点池升级到新版本。如果您不想更改节点上的 GKE 版本,则可以升级到与当前节点相同的 GKE 版本。
在 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 控制台停用通知,请执行以下操作:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,清除启用通知复选框。
点击保存更改。
(可选)删除您为通知创建的 Pub/Sub 主题。
后续步骤
- 详细了解集群通知。
- 了解如何配置 Pub/Sub 通知。
- 了解如何为第三方服务配置集群通知。