本页面介绍如何使用 Pub/Sub 接收有关 Google Kubernetes Engine (GKE) 集群的通知。
GKE 默认会将这些通知路由到 Cloud Logging。您可以使用 Cloud Logging 的所有功能,包括查询和查看日志,以及配置基于日志的提醒政策。如需在 Cloud Logging 中查找这些日志,请参阅在 Cloud Logging 中查看集群通知。
概览
当发生与 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 主题。您可以在集群的项目中或组织中的其他项目中创建主题。
跨项目集群通知所需的权限
如需使用与集群所在项目不同的项目中的 Pub/Sub 主题,请将主题项目中的以下角色授予给集群项目中的 service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
服务账号:
在新集群上启用集群通知
您可以使用 Google Cloud CLI 或 Google Cloud 控制台在新的 Standard 集群上启用 GKE 集群通知。如需在 Autopilot 集群上启用通知,您必须先创建 Autopilot 集群,然后更新集群以使用集群通知。
您可以选择为所有集群创建一个主题,也可以为多组集群创建多个主题。
gcloud
如需在新集群上启用集群通知,请运行以下命令:
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
替换以下内容:
CLUSTER_NAME
:新集群的名称。CONTROL_PLANE_LOCATION
:集群控制平面的 Compute Engine 位置。为区域级集群提供区域,或为可用区级集群提供可用区。TOPIC_PROJECT_ID
:Pub/Sub 主题所属项目的 Google Cloud 项目 ID。如果主题项目与集群项目不同,请确保您已授予所需的权限。如需了解详情,请参阅跨项目集群通知所需的权限。TOPIC_NAME
:您的 Pub/Sub 主题的名称。NOTIFICATION_TYPE
:要接收的通知类型的列表(以竖线 (|) 分隔)。例如,filter="UpgradeEvent|SecurityBulletinEvent"
仅发送UpgradeEvent
和SecurityBulletinEvent
通知,而忽略所有其他类型。
控制台
如需在新标准集群上启用集群通知,请执行以下操作:
在 Google Cloud 控制台中,前往创建一个 Kubernetes 集群页面。
在导航窗格的集群部分中,点击 Automation。
选中启用通知复选框。
从下拉列表中选择您创建的 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/TOPIC_PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
替换以下内容:
CLUSTER_NAME
:您的集群的名称。CONTROL_PLANE_LOCATION
:集群控制平面的 Compute Engine 位置。为区域级集群提供区域,或为可用区级集群提供可用区。TOPIC_PROJECT_ID
:Pub/Sub 主题所属项目的 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 \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_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 \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=DISABLED
控制台
如需使用 Google Cloud 控制台停用通知,请执行以下操作:
前往 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,清除启用通知复选框。
点击保存更改。
(可选)删除您为通知创建的 Pub/Sub 主题。
后续步骤
- 详细了解集群通知。
- 了解如何配置 Pub/Sub 通知。
- 了解如何为第三方服务配置集群通知。