我们正在使用版本composer-1.8.0-airflow-1.10.3
的 Google Cloud Composer 在GCP上调度管道。
最近,当我们需要向环境中添加一些新的Python软件包时(无论是使用Terraform还是Cloud Console),我们总是收到奇怪的错误消息,但是Cloud Composer仍然启动并且未安装新软件包。
Cloud Composer UI上显示的错误消息:
找不到资源(resource = europe-west1-xxxxxxxxxxxxxxxxxxxx-composer-backend-sub-3fb66162-3xxxd-4f43-ba47-xxxxxx)。,Http错误状态代码:400 Http错误消息:错误请求其他错误:{“ originalResponse“:” {\“ paths \”:[\“ / apis \”,\“ / apis / \”,\“ / apis / apiextensions.k8s.io \”,\“ / apis / apiextensions.k8s.io / v1beta1 \“,\” / healthz \“,\” / healthz / etcd \“,\” / healthz / log \“,\” / healthz / ping \“,\” / healthz / poststarthook / crd-informer-已同步\“,\” / healthz / poststarthook / generic-apiserver-start-informers \“,\” / healthz / poststarthook / start-apiextensions-controllers \“,\” / healthz / poststarthook / start-apiextensions-informers \“ ,\“ / metrics \”,\“ / openapi / v2 \”,\“ / version \”]}“,”原因“:”类型提供程序'europe-west1-的描述符URL'https://35.187.59.32/swaggerapi/apis/batch/v1'无法获取xxxxxxxxxxxxxxxxxxxx-addons-job-typer'。“},Http错误状态代码:400 Http错误消息:错误请求其他错误:{” ResourceType“:” gcp-types / storage-v1:storage.objects.list “,” ResourceErrorCode“:” 403“,” ResourceErrorMessage“:{” code“:403,”错误s“:[{” domain“:” global“,” message“:” xxxxxxxx@cloudservices.gserviceaccount.com没有对composer-unlistable的storage.objects.list访问权限。“,”原因“:”禁止“}] ,“ message”:“ xxxxxxxx@cloudservices.gserviceaccount.com没有对composer-unlistable的storage.objects.list访问权限。”,“ statusMessage”:“禁止”,“ requestPath”:“ https://www.googleapis.com/storage/v1/b/composer-unlistable/o”,“ httpMethod“:” GET“,”建议“:”考虑授予xxxxxxxx@cloudservices.gserviceaccount.com的权限“}}
查看 Stackdriver日志记录时,我们会发现与该环境更新相关的错误消息:
状态:{ 码:9
消息:“ FAILED_PRECONDITION”
}
关于导致此行为的原因以及如何解决的任何想法?
编辑:
请注意,xxxxxxxx@cloudservices.gserviceaccount.com
是Google用于内部通信的服务帐户,无法在IAM页面上管理(请参阅Service Account Documentation)。
此外,我们注意到有时添加新程序包可以正常工作。但是,下次我们尝试添加另一个软件包时,它会失败,并显示与上述相同的错误消息。