You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud Composer 2显示Unhealthy但功能正常,权限报错求排查

关于Google Cloud Composer 2显示Unhealthy但功能正常的问题解答

一、显示Unhealthy但功能正常的根因

这是健康检查逻辑的权限问题导致的误报:Composer的健康监控组件因权限不足无法完成全量状态检测,从而标记环境为Unhealthy,但Airflow核心的任务调度、Web服务等功能依赖的权限不受影响,所以实际业务运行正常。

二、Composer 2计算健康状态的核心API/逻辑

Composer的健康检查会调用以下几类资源来判定环境状态:

  • Kubernetes核心API:查询Pod、Deployment、Service的运行状态,以及集群事件(events)
  • Airflow内部API:检查Webserver、Scheduler、Worker组件的存活状态与响应能力
  • GCP监控指标:采集集群节点CPU/内存使用率、Pod重启次数、存储挂载状态等数据

三、报错中"events"的含义

这里的events是Kubernetes集群的原生核心资源,用于记录集群内所有资源的状态变更与操作日志,比如Pod创建、镜像拉取失败、调度异常、资源配额超限等事件。Composer健康检查会通过查询这些事件排查潜在异常,但该权限缺失仅影响状态判定,不干扰业务执行。

四、针对权限报错的分析与解决

报错原因解析

你遇到的权限错误:

Error from server (Forbidden): events is forbidden: User "xxxxx.iam.gserviceaccount.com" cannot list resource "events" in API group "" in the namespace airflow-2-2-5-11111111": GKEAutopilot authz: the request was sent before policy enforcement is enabled

包含两个关键信息:

  1. Composer使用的服务账号缺少目标Namespace下events资源的list权限
  2. GKEAutopilot authz: the request was sent before policy enforcement is enabled提示,可能是Autopilot集群初始化阶段IAM与RBAC权限同步延迟,或服务账号未正确绑定对应K8s权限角色。

解决方向

  • 确认服务账号已绑定roles/composer.worker角色:该角色默认包含K8s事件查询所需的RBAC权限
  • 若使用自定义IAM角色,需添加Kubernetes API的events.list权限到角色中
  • 对于Autopilot集群,可等待10-15分钟让权限策略自动同步,或在GCP控制台IAM页面重新绑定服务账号的角色,触发权限同步

内容的提问来源于stack exchange,提问作者Shawn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:55:48