本页面介绍了如何为 GKE On-Prem 集群创建提醒政策。
准备工作
您必须拥有以下权限才能创建提醒政策:
- monitoring.alertPolicies.create
- monitoring.alertPolicies.delete
- monitoring.alertPolicies.update
如果您具有以下任何角色,则表示具备这些权限:
- monitoring.alertPolicyEditor
- monitoring.editor
- Project Editor
- 项目所有者
如需查看您的角色,请转到 Google Cloud Console 中的 IAM 页面。
创建政策:管理员集群 API 服务器关闭
在本练习中,您将为管理员集群的 Kubernetes API 服务器创建提醒政策。实施此政策后,您可以安排在管理员集群的 API 服务器发生故障时接收通知。
下载政策配置文件:admin-cluster-apiserver-down.json。
创建政策:
gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
将 POLICY_CONFIG 替换为您刚刚下载的配置文件的路径。
查看您的提醒政策:
控制台
在 Google Cloud Console 中,转到 Monitoring 页面。
选择左侧的提醒。
在政策下方,您可以看到提醒政策的列表。
在列表中,选择 GKE On-Prem 管理员集群 API 服务器关闭(严重)以查看关于新政策的详细信息。在条件下,您可以查看政策的说明。例如:
Policy violates when ANY condition is met Anthos On-Prem Admin Cluster API Server is up Violates when: Any kubernetes.io/anthos/up stream is absent for greater than 5 minutes
gcloud
gcloud alpha monitoring policies list
输出会显示有关政策的详细信息。例如:
combiner: OR conditions: – conditionAbsent: aggregations: - alignmentPeriod: 60s crossSeriesReducer: REDUCE_SUM groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name perSeriesAligner: ALIGN_MEAN duration: 300s filter: resource.type="k8s_container" AND metric.type="kubernetes.io/anthos/up" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 ... displayName: GKE on-prem admin cluster API server down (critical) enabled: true ... name: projects/xxxxxx/alertPolicies/12331540576820203183
创建其他提醒政策
本部分针对一组建议的提醒政策提供了说明和配置文件。
要创建政策,请按照您在之前的练习中所用的步骤操作:
点击右列中的链接以下载配置文件。
运行
gcloud alpha monitoring policies create
以创建政策。
管理员集群控制层面组件可用性
提醒名称 | 说明 | Cloud Monitoring 中的提醒政策定义 |
---|---|---|
GKE On-Prem 管理员集群 API 服务器关闭(严重) | 管理员集群 API 服务器从指标目标发现中消失了 | admin-cluster-apiserver-down.json |
GKE On-Prem 管理员集群调度器关闭(严重) | 管理员集群调度器从指标目标发现中消失了 | admin-cluster-scheduler-down.json |
GKE On-Prem 管理员集群控制器管理器关闭(严重) | 管理员集群控制器管理器从指标目标发现中消失了 | admin-cluster-controller-manager-down.json |
GKE On-Prem 管理员集群控制器管理器关闭(严重) | 管理员集群控制器管理器从指标目标发现中消失了 | admin-cluster-etcd-down.json |
用户集群控制层面组件可用性
用户集群控制层面提醒以指标为基础。对于大多数集群指标而言,cluster_name
字段是集群本身的名称。但对于用户集群控制层面指标而言,cluster_name
字段是管理员集群的名称,而 namespace_name
字段是用户集群的名称。
您可以在创建控制层面状态信息中心下的屏幕截图中看到相关信息。
提醒名称 | 说明 | Cloud Monitoring 中的提醒政策定义 | |
---|---|---|---|
GKE On-Prem 用户集群 API 服务器关闭(严重) | 用户集群 API 服务器从指标目标发现中消失了 | user-cluster-apiserver-down.json | |
GKE On-Prem 用户集群调度器关闭(严重) | 用户集群调度器从指标目标发现中消失了 | user-cluster-scheduler-down.json | |
GKE On-Prem 用户集群控制器管理器关闭(严重) | 用户集群控制器管理器从指标目标发现中消失了 | user-cluster-controller-manager-down.json | |
GKE On-Prem 用户集群 etcd 关闭(严重) | 用户集群 etcd 从指标目标发现中消失了 | user-cluster-etcd-down.json |
Kubernetes 系统
提醒名称 | 说明 | Cloud Monitoring 中的提醒政策定义 |
---|---|---|
GKE On-Prem Pod 发生崩溃循环(严重) | Pod 处于崩溃循环状态 | pod-crash-looping.json |
GKE On-Prem Pod 尚未就绪超过一小时(严重) | Pod 处于尚未就绪状态超过一小时 | pod-not-ready-1h.json |
GKE On-Prem 永久性卷用量高(严重) | 声明的永久性卷预计会填满 | persistent-volume-usage-high.json |
GKE On-Prem 节点尚未就绪超过一小时(严重) | 节点处于尚未就绪状态超过一小时 | node-not-ready-1h.json |
Kubernetes 性能
提醒名称 | 说明 | Cloud Monitoring 中的提醒政策定义 |
---|---|---|
GKE On-Prem 管理员集群 API 服务器错误计数率超过 10%(严重) | 管理员集群 API 服务器中有超过 10% 的请求返回错误 | admin-cluster-apiserver-error-ratio-10-percent.json |
GKE On-Prem 管理员集群 API 服务器错误计数率超过 5%(警告) | 管理员集群 API 服务器中有超过 5% 的请求返回错误 | admin-cluster-apiserver-error-ratio-5-percent.json |
GKE On-Prem 用户集群 API 服务器错误计数率超过 10%(严重) | 用户集群 API 服务器中有超过 10% 的请求返回错误 | user-cluster-apiserver-error-ratio-10-percent.json |
GKE On-Prem 用户集群 API 服务器错误计数率超过 5%(警告) | 用户集群 API 服务器中有超过 5% 的请求返回错误 | user-cluster-apiserver-error-ratio-5-percent.json |
接收通知
创建提醒政策后,您可以为该政策定义一个或多个通知渠道。通知渠道有多种类型。例如,您可能会收到电子邮件、Slack 频道或移动应用发出的通知。您可以选择符合您需求的渠道。
如需了解如何配置通知渠道,请参阅管理通知渠道。