本页面介绍如何使用 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
并按照说明操作:gcloud init
如果您要在远程服务器上使用 SSH,请使用
--console-only
标志来防止命令启动浏览器:gcloud init --console-only
- 按照说明授权 gcloud CLI 使用您的 Google Cloud 帐号。
- 创建新配置或选择现有配置。
- 选择 Google Cloud 项目。
- 选择默认的 Compute Engine 可用区。
- 选择默认的 Compute Engine 区域。
- 设置默认项目 ID:
gcloud config set project PROJECT_ID
- 设置默认的 Compute Engine 区域(例如
us-central1
):gcloud config set compute/region COMPUTE_REGION
- 设置默认的 Compute Engine 可用区(例如
us-central1-c
):gcloud config set compute/zone COMPUTE_ZONE
- 将
gcloud
更新到最新版本:gcloud components update
gcloud init
gcloud config
通过设置默认位置,您可以避免 gcloud CLI 中出现以下错误:One of [--zone, --region] must be supplied: Please specify location
。
- 在您的项目中创建 Pub/Sub 主题。
在新集群上启用集群通知
您可以使用 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"
仅发送UpgradeEvent
和SecurityBulletinEvent
通知,而忽略所有其他类型。
控制台
如需在新集群上启用集群通知,请执行以下操作:
1. 转到 Cloud Console 中的 **Google Kubernetes Engine** 页面。转到 Google Kubernetes Engine 1. 点击add_box **创建**。- 在创建集群对话框中,点击 GKE 标准旁边的配置。
- 在导航窗格的集群部分中,点击 Automation。
- 选中启用通知复选框。
- 从下拉列表中选择您创建的 Pub/Sub 主题。
如需过滤通知,请选中过滤通知类型复选框,然后选择要接收的通知类型。
根据需要继续配置集群。
点击创建。
启用通知后,为您的主题创建 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"
仅发送UpgradeEvent
和SecurityBulletinEvent
通知,而忽略所有其他类型。
控制台
如需在现有集群上启用集群通知,请执行以下操作:
转到 Cloud Console 中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,选中启用通知复选框。
从下拉列表中选择您创建的 Pub/Sub 主题。
如需过滤通知,请选中过滤通知类型复选框,然后选择要接收的通知类型。
点击保存更改。
启用通知后,为您的主题创建 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 停用过滤条件,请执行以下操作:
转到 Cloud Console 中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,清除过滤通知类型复选框。
点击保存更改。
验证集群通知的设置
如需验证是否已经为集群正确设置通知,可以启动节点池升级以查看是否发送了 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 停用通知,请执行以下操作:
转到 Cloud Console 中的 Google Kubernetes Engine 页面。
点击要修改的集群的名称。
在 Automation 部分的通知旁边,点击
修改通知。在修改通知对话框中,清除启用通知复选框。
点击保存更改。
(可选)删除您为通知创建的 Pub/Sub 主题。
后续步骤
- 详细了解集群通知。
- 了解如何配置 Pub/Sub 通知。
- 了解如何为第三方服务配置集群通知。