无法在Google Cloud Composer上安装新的pipy软件包

时间:2019-11-25 17:14:19

标签: google-cloud-platform google-cloud-composer google-cloud-iam terraform-provider-gcp

我们正在使用版本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)。

此外,我们注意到有时添加新程序包可以正常工作。但是,下次我们尝试添加另一个软件包时,它会失败,并显示与上述相同的错误消息。

2 个答案:

答案 0 :(得分:1)

我能够通过手动将Composer环境(composer-1.8.2-airflow-1.10.3)的GKE群集升级到1.14.8-gke.12来重现此错误:

enter image description here

documentation中所述,不使用私有IP的Composer环境不应将GKE升级到1.14+。这些版本具有deprecated Swagger in favor of OpenAPI。未来的Cloud Composer版本将创建使用OpenAPI的集群,并将能够将现有环境升级到GKE 1.14及更高版本。

当前,OpenAPI仅用于私有IP环境,因此,那里没有问题。

不幸的是,无法降级GKE群集,因此唯一的解决方案是删除并重新创建环境。

答案 1 :(得分:0)

类似服务xxxxxxxx@cloudservices.gserviceaccount.com的帐户没有正确的权限。在“ IAM”部分中,将“存储对象查看器”角色添加到该服务帐户。