可识别GKE集群升级详情的云日志及过滤规则查询
GKE集群升级相关云日志及查询过滤器配置
核心升级相关日志分类
所有GKE升级相关日志都存储在Google Cloud Logging中,按场景分为以下几类:
- 控制平面(Master)审计日志:记录Master版本升级的触发、进度、结果等全生命周期操作,属于云审计活动日志类别
- 节点池操作审计日志:记录节点池升级的全生命周期操作,同属云审计活动日志类别
- Kubernetes原生事件日志:记录升级过程中节点驱逐、Pod调度、组件异常等K8s原生事件
- 节点kubelet日志:记录单个节点升级期间的底层操作日志,可用于排查节点升级失败问题
常用查询过滤器配置
以下过滤器可直接在Cloud Logging查询界面使用,替换[你的项目ID]为实际GCP项目ID即可:
1. 控制平面升级全事件过滤器
捕获所有Master版本升级的触发、进度更新、完成、失败事件:
resource.type="gke_cluster" logName="projects/[你的项目ID]/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName="google.container.v1.ClusterManager.UpdateCluster" protoPayload.request.update.desiredMasterVersion:*
你可以通过protoPayload.response.status字段判断升级结果:值为DONE代表升级成功,值为ERROR代表升级失败。
2. 节点池升级全事件过滤器
捕获所有节点池版本升级的操作事件:
resource.type="gke_nodepool" logName="projects/[你的项目ID]/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.methodName="google.container.v1.ClusterManager.UpdateNodePool" protoPayload.request.update.desiredNodeVersion:*
可搭配protoPayload.metadata.operationType="UPGRADE_NODES"过滤其他节点池更新操作,仅保留升级事件。
3. 升级异常事件过滤器
捕获升级过程中的节点驱逐失败、Pod驱逐失败、节点升级失败等异常事件:
resource.type="k8s_node" logName="projects/[你的项目ID]/logs/kubernetes.io%2Fevents" jsonPayload.reason:("NodeDrainFailed" OR "NodeUpgradeFailed" OR "PodEvictionFailure")
告警配置建议
- 针对Master/节点池升级启动事件配置通知类告警,提前同步升级操作给相关负责人
- 针对升级失败类事件配置高优先级告警,触发后第一时间介入排查
- 可提取
protoPayload.metadata.progress字段搭建升级进度监控大盘,实时掌握升级进度
内容的提问来源于stack exchange,提问作者Yuva Yuva
相关产品推荐
相关产品推荐

