GCP Composer中Airflow Webserver/Scheduler宕机,环境更新失败求助
报错信息
Error: UPDATE operation on this environment failed 1 hour ago with the following error message:
Operation failed. Couldn't start composer-agent, a GKE job that updates kubernetes resources. Please check if your GKE cluster exists, is healthy and contains non-empty 'default-pool' node pool.
排查与解决步骤
检查GKE集群状态
登录GCP控制台,进入GKE服务页面,找到Composer关联的集群,确认集群是否存在、状态是否为RUNNING。同时查看集群事件日志,排查节点池异常、CPU/内存资源不足等问题。验证default-pool节点池
确认集群的default-pool节点池是否存在,且节点数大于0。如果节点池为空或已被删除,直接重建或扩容节点池。另外检查节点池内的节点状态,若有节点处于NotReady或Terminated状态,删除异常节点触发自动重建。手动排查composer-agent作业
进入GKE集群的工作负载页面,找到命名空间composer-<环境名称>-<随机后缀>下的composer-agent作业。查看作业日志,定位具体启动失败原因(比如权限不足、镜像拉取失败、资源配额不够)。如果作业状态异常,手动删除它,Composer会自动重新触发作业。强制重启Composer环境
用gcloud命令行执行轻量更新操作,触发环境重建:gcloud composer environments update <环境名称> --location <区域> --update-pypi-packages-from-file /dev/null检查IAM权限配置
确认Composer服务账号(格式为service-<项目号>@gcp-sa-composer.iam.gserviceaccount.com)是否拥有GKE集群的Kubernetes Engine Admin权限,或者至少具备创建作业、管理节点池的权限。同时检查节点池服务账号是否有权限访问GCR拉取composer-agent镜像。资源配额检查
确认当前GCP项目在对应区域的CPU、内存配额是否充足,避免因配额不足导致节点无法创建或作业启动失败。
内容的提问来源于stack exchange,提问作者avinash

